Wie lautet die Syntax für ein mehrzeiliges Zeichenfolgenliteral?
Ich habe eine harte Zeit, herauszufinden, wie syntax funktioniert in Rust. Speziell, ich versuche, herauszufinden, wie man einen mehrzeiligen string.
Kommentar zu dem Problem - Öffnen
Mögliche Duplikate von Wie Schreibe ich ein multi-line string in Rust?
InformationsquelleAutor der Frage Dumbapples | 2015-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle string-Literale können gebrochen werden über mehrere Linien, z.B.
ist ein zwei-line string, das gleiche wie
"line one\nline two"
(natürlich kann man die\n
newline Flucht auch direkt). Möchten Sie nur brechen einen string über mehrere Zeilen für die Formatierung Gründen, können Sie entkommen die newline und führende whitespace-Zeichen mit einem\
z.B.ist das gleiche wie
"one line written over several"
.InformationsquelleAutor der Antwort huon
In Fall, dass Sie wollen, etwas zu tun ein bisschen länger, die möglicherweise oder möglicherweise nicht enthalten Anführungszeichen, backslashes, etc., verwenden Sie die raw-string-Literale notation:
Wenn Sie Sequenzen von doppelten Anführungszeichen und hash-Symbole, die in Ihrem string, Sie können bezeichnen eine beliebige Anzahl von hashes als Trennzeichen:
InformationsquelleAutor der Antwort c0g
Huon ' s Antwort ist richtig, aber wenn die Einrückung stört, erwägen Sie die Verwendung Indoc einer prozeduralen makro für eingerückt multi-line-strings. Es steht für "eingerückt Dokument." Es bietet eine makro namens
indoc!()
nimmt eine mehrzeilige string-Literale und un-rückt es also die am weitesten Links stehende nicht-Leerzeichen in der ersten Spalte.Das Ergebnis ist
"line one\nline two"
.Gibt es ein paar gleichwertige Möglichkeiten zum formatieren die gleiche Sache, wenn Sie bevorzugen, so wählen Sie eine, die Sie mögen. Die beiden folgenden Ergebnis in die gleiche string wie oben. Die Inhalte können eingerückt werden, so viel, wie Sie möchten – es muss nicht eine bestimmte Anzahl von Leerzeichen.
Leerzeichen beibehalten wird relativ zur linken nicht-Leerzeichen in das Dokument, damit die folgende Zeile eingerückt 3 Räume relativ zu Zeile eins:
Das Ergebnis ist
"line one\n line two"
.InformationsquelleAutor der Antwort dtolnay