fn main() { let a = [3, 5, 1, 6, 9, 4]; print_first_even_else_zero(&a); } fn print_first_even_else_zero(a: &[i32]) { let mut i = a.iter(); let even = loop { if let Some(&n) = i.next() { if n % 2 == 0 { break n; } } else { break 0; // not found } }; println!("{}", even); }
例えばwhile文なら let even = while let Some(&n) = i.next() { となりそうで さらに可能ならfor文で let even = for &n in a { となるかと思うのですが []