1
使用filter
時,由於filter
does not return ownership而收到引用。然而iter()
已經引用你迭代什麼,這樣你得到的代碼看起來是這樣的:這似乎是一個很大的&
我使用過濾器的習慣用法()
fn main() {
let mut vec: Vec<(bool, i32)> = Vec::new();
vec.push((true, 1));
vec.push((false, 2));
vec.push((true, 3));
for &(_, x) in vec.iter().filter(|&&(exists, _)| exists) {
println!("{}", x);
}
}
。這是否被認爲是實施filter()
的慣用方式?