Rust: flat_map,filter_map,for_each

来源:互联网 发布:tpp ttip 知乎 编辑:程序博客网 时间:2024/05/17 15:05

let words = [“alpha”, “beta”, “gamma”];

// chars() returns an iterator
let merged: String = words.iter()
.flat_map(|s| s.chars())
.collect();
assert_eq!(merged, “alphabetagamma”);

(0..5).flat_map(|x| x * 100 .. x * 110).for_each( |x| println!(“new x:{:?}”,x));

let a = [“1”, “2”, “lol”];

let mut iter = a.iter().filter_map(|s| s.parse().ok());

assert_eq!(iter.next(), Some(1));
assert_eq!(iter.next(), Some(2));
assert_eq!(iter.next(), None);

原创粉丝点击