Wie man Vec<char>
in zeichnende Form umwandelt, damit ich es drucken kann?Wie man Vec <char> in eine Zeichenkette umwandelt
Antwort
Diese Antwort war korrekt, wenn sie geschrieben wurde, aber jetzt veraltet ist (from_chars
existiert nicht, und std::strbuf::StrBuf
ist jetzt nur String
), es gibt also keine Notwendigkeit zu einem Downvote. Werfen Sie einen Blick auf die Antwort von Vladimir Matveev (und upvote) unten.
std::str::from_chars(char_vector.as_slice()); // creates a ~str
char_vector.iter().map(|c| *c).collect::<std::strbuf::StrBuf>();
Docs: std::str::from_chars
(Letzteres verwendet werden kann, um ein ~str
zu sammeln, nur durch den StrBuf
Typen Hinweis zu ändern.)
Wenn eine Antwort nicht auf dem neuesten Stand ist, ist es logisch, sie abzustimmen. Aktualisieren Sie Ihre Antwort wird die Abstimmung stoppen. – Stargateur
Aktualisieren meiner Antwort wird Kredit/Stimmen von Vladimir nehmen. – huon
Sie können die Antwort mit den entsprechenden Versionen von Rust aktualisieren. – courteouselk
für Rust 1.0 Aktualisiert
sehr einfach, nur collect()
auf einem Iterator verwenden:
let v = vec!['a', 'b', 'c', 'd'];
let s: String = v.into_iter().collect();
println!("{}", s);
Der ursprüngliche Vektor verbraucht wird. Wenn Sie sie halten müssen, verwenden v.iter().cloned()
:
let s: String = v.iter().cloned().collect();
Es gibt kein direkteren Weg ist, weil char
ist eine 32-Bit-Unicode-Skalarwert und Strings in Rust sind Sequenzen von Bytes (u8
), den Text in UTF- 8 Codierung. Sie sind nicht direkt auf Sequenzen von char
s abgebildet.
Hier ist eine besser lesbare Version, verbraucht den Vektor:
use std::iter::FromIterator;
fn main() {
let v = vec!['a', 'b', 'c', 'd'];
let s = String::from_iter(v);
// vs
let s: String = v.into_iter().collect();
}
Beachten Sie, dass collect
wird mit einem Aufruf an FromIterator::from_iter
implementiert:
fn collect<B: FromIterator<Self::Item>>(self) -> B where Self: Sized {
FromIterator::from_iter(self)
}
- 1. Wie man Zeichenkette in boolean umwandelt?
- 2. Wie man einen Vec konvertiert <Vec<f64>> in eine Zeichenfolge
- 3. Wie man einen Pandas DatetimeIndex in eine Zeichenkette umwandelt
- 4. Wie man eine Zeichenkette '010101010' in eine echte binäre Zeichenkette umwandelt, in PHP
- 5. Konvertieren Vec <String> zu Vec <&str>
- 6. wie man eine Arraylist <object> in String umwandelt und es in arraylist umwandelt <object>
- 7. Swift Wie man eine Ganzzahl aus einer Zeichenkette erhält und in eine Ganzzahl umwandelt
- 8. Wie man WorkItemCollection in eine Liste umwandelt
- 9. Wie man eine Webseite in Chromecast umwandelt
- 10. Wie man eine Elternklasse in Selbstklasse umwandelt
- 11. java, wie man Zeichenkette in Zeichenkette [] umwandelt und Spezifische Zeichenkettenvariabel eingibt
- 12. Android: Wie man eine Zeichenkette in JSON umwandelt und die Daten erhält?
- 13. Wie man eine String-Formel in eine "echte" Formel umwandelt
- 14. Wie man eine veränderbare Sammlung in eine unveränderliche umwandelt
- 15. Elixier: Wie man eine Schlüsselwortliste in eine Karte umwandelt?
- 16. wie man einen gegebenen Buchstaben in einer Zeichenkette von Klein- in Großbuchstaben in Ruby umwandelt
- 17. Destrukturierung während Iterieren durch eine Vec <Enum (String)>
- 18. Wie man Bytes in einer Pythonhex-Zeichenkette umwandelt und in lang konvertiert
- 19. Wie man Anführungszeichen in eine Zeichenkette einbezieht
- 20. Wie konvertiert man eine Zeichenkette in Matlab?
- 21. Wie man eine Zeichenfolge in Freemarker-Vorlage in Zahl umwandelt
- 22. Übergeben Sie eine Matrix (Vec <Vec<f64>>) lesen Sie nur zu mehreren Threads
- 23. Wie kann man die Vec-Initialisierungszeit verbessern?
- 24. Wie man varchar in boolean umwandelt
- 25. Oracle: Wie man Zeilenanzahl in Datengröße umwandelt
- 26. wie man Zeichenfolge in Datetime umwandelt
- 27. Wie man eine rohe Zeichenkette mit ApiController zurückgibt?
- 28. R: Wie man einen Datenrahmen in eine nxn Matrix umwandelt
- 29. Javascript - Wie man dies in eine einfache Funktion umwandelt
- 30. Wie man den Hauptcode in eine Klasse (Schneefall) umwandelt
möglich Duplikat [eine Zeichenfolge aus Vec Erstellen] (http://stackoverflow.com/questions/29158406/creating-a-string-from-vecchar) –