Ich versuche, einen Iterator zu machen, die eine Zeichenfolge in eine ganze Zahl abbildet:Wie extrahiere ich Werte von & mut-Iterator?
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();
}
Das mit
nicht das Merkmal
core::iter::FromIterator<&mut u32>
ist nicht für den Typ implementiertcollections::vec::Vec<u32>
Hinzufügen eines Dereferenzierungsoperators um den word_map.entry().or_insert()
Ausdruck funktioniert nicht, da es sich über das Ausleihen beschwert, was für mich überraschend ist, da ich nur versuche, den Wert zu kopieren.