Dies ist für den aktuellen 0.6 Rust Koffer übrigens, nicht sicher, die genaue commit.Wie transformiere ich & str zu ~ str in Rust?
Nehmen wir an, ich möchte für jeden über einige Zeichenfolgen, und meine Schließung nimmt eine geborgt String Zeiger Argument (& str). Ich möchte, dass mein Closure sein Argument zu einem eigenen Vektor von Strings ~ ~ [~ str] hinzufügt, die zurückgegeben werden sollen. Mein Verständnis von Rust ist schwach, aber ich denke, dass Streicher ein spezieller Fall sind, in dem man sie nicht mit * dereferenzieren kann. Wie bekomme ich meine Strings von & in die Push-Methode des Vektors, die eine ~ str nimmt?
Hier einige Code, der nicht
fn read_all_lines() -> ~[~str] {
let mut result = ~[];
let reader = io::stdin();
let util = @reader as @io::ReaderUtil;
for util.each_line |line| {
result.push(line);
}
result
}
Es nicht kompiliert nicht kompilieren, weil es aufgrund der Art ist Folgern zu sein [& str], da das ist, was auf sie ich schieben. Ganz zu schweigen von seiner Lebensdauer wird falsch sein, da ich eine Variable von kürzerer Lebensdauer hinzufügen.
Ich weiß, ich könnte ReaderUtils read_line() -Methode verwenden, die eine ~ str zurückgibt. Aber das ist nur ein Beispiel.
Also, wie bekomme ich eine eigene Zeichenfolge aus einer geborgten Zeichenfolge? Oder bin ich total falsch verstanden.
Diese weniger relevant jetzt gegeben ist, dass Rust bei 1 ist. X. (Rost 1.X verwendet 'String' und' & str', nicht '~ str'. Daher wäre es hilfreich, dies als vor Rust 1.0 zu bezeichnen. Ich hoffe, dass die Suchmaschinenrelevanz entsprechend angepasst werden kann. –
Ich könnte hier aus der Reihe sein, aber ich habe dafür gestimmt, diese Frage zu schließen, da es nicht für die aktuelle Rust-Syntax gilt, die nicht enthält ~ –