我有一个Options 矢量,我想只过滤Somes.我使用filter_map身份:
let v = vec![Some(1), None, Some(2)];
for i in v.into_iter().filter_map(|o| o) {
println!("{}", i);
}
Run Code Online (Sandbox Code Playgroud)
是否有内置函数允许编写类似的东西filter_map(identity)?
不,在稳定的Rust中没有这样的功能.你可以创建自己的:
fn id<T>(v: T) -> T { v }
Run Code Online (Sandbox Code Playgroud)
虽然大多数人都像你一样内联代码.