我想獲取條件爲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'作品。但爲什麼我必須去掉它? –