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

関数型プログラミングでこういうの見かけますが、メソッド呼び出しを連結できるのは良いですね。