0
我試圖讓映射一個字符串轉換爲整數的迭代器:如何從&mut迭代器中提取值?
fn main() {
use std::collections::HashMap;
let mut word_map = HashMap::new();
word_map.insert("world!", 0u32);
let sentence: Vec<&str> = vec!["Hello", "world!"];
let int_sentence: Vec<u32> = sentence.into_iter()
.map(|x| word_map.entry(x).or_insert(word_map.len() as u32))
.collect();
}
這種失敗
性狀
core::iter::FromIterator<&mut u32>
沒有爲類型collections::vec::Vec<u32>
實施
在解碼器周圍添加解引用運算符word_map.entry().or_insert()
表達式不起作用,因爲它抱怨借用,這是令人驚訝的,因爲我只是試圖複製價值。