Iterators
https://doc.rust-lang.org/book/iterators.html
fn main() { let num = (1..) .filter(|&x| x % 2 == 0) .filter(|&x| x % 3 == 0) .take(5) .collect::<Vec<i32>>(); for n in num.iter() { println!("{}", n); } }
$ cargo run Finished debug [unoptimized + debuginfo] target(s) in 1.21 secs Running `target/debug/5_5_iterators` 6 12 18 24 30
関数型プログラミングでこういうの見かけますが、メソッド呼び出しを連結できるのは良いですね。