我想获取条件为true的数组中的元素。例如,我想在数组元素是0。将借用整数与文字整数进行比较
fn main() {
let lim = 10;
let mut sieve = vec![0; lim+1];
sieve[1] = 1;
println!("{:?}", sieve.iter()
.enumerate()
.filter(|&(_, c)| c != 0)
.map(|(i, _)| i)
.collect::<Vec<usize>>());
}
所有索引但是,这是一个编译错误:the trait bound '&{integer}: std::cmp::PartialEq<{integer}>' is not satisfied
。当我使用c.clone() != 0
它的作品。
如果我正确理解错误消息,Rust会抱怨说它无法将借位与具有整数的整数进行比较。我不明白为什么它不应该成为可能。
是改变成' * c'作品。但为什么我必须去掉它? –