Betrachten Sie das folgende BeispielFehler im Muster „Typ dieser Wert muss in diesem Zusammenhang bekannt sein“ matching
fn main() {
f("hello", true);
}
fn f(str: &str, sen: bool) {
let s: &str = match sen {
false => str,
true => str.chars().map(|x| x.to_lowercase()).collect().as_slice()
};
println!("{}", s);
}
Ich erhalte diesen Fehler
error: the type of this value must be known in this conntext
true => str.chars().map(|x| x.to_lowercase()).collect().as_slice()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ich ein wenig verwirrt bin, weiß der Compiler nicht, dass der Typ str
&str
aus der Funktionsdefinition ist? Was fehlt mir hier?
Danke. Ich habe am Ende temporäre Variablen verwendet, um die 'String' zu speichern und s an' temp_var.as_slice() 'zu binden. Nicht sicher, ob es einen besseren Weg gibt. –