Я пытаюсь сделать итератор, который отображает строку в целое число:Как извлечь значения из итератора & 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()
выражение не работает, поскольку он жалуется на заимствование, что удивительно для меня, поскольку я просто пытаюсь скопировать значение.