2017-12-01 4 views
-2

In vielen Sprachen mehrzeiligen String Literalsyntax istmehrzeilige String Literalsyntax

""" 
Hello 
World 
""" 

Aber warum es eine neue Syntax erfordern, warum nicht nur " statt """ zu benutzen?

Like:

"Hello 
World" 
+0

Haben Sie _ever_ ausprobiert Multiline-Syntax mit einem einzigen doppelten Anführungszeichen? Weißt du was? Es klappt! – mudasobwa

+0

In welcher Sprache? Ich weiß, es funktioniert in Rust – Sodiaan

+2

"Warum fühlen sich Sprachdesigner gezwungen, eine andere Syntax für mehrzeilige Zeichenfolgen in mehreren Sprachen hinzuzufügen?" ist ein großartiges Beispiel dafür, eine zu weit gefasste Frage zu stellen. –

Antwort

9

Ich denke, das in erster Linie verschachtelte doppelte Anführungszeichen zu ermöglichen, ist:

""" 
Hello, "World" 
""" 

Wenn " für mehrzeilige Strings verwendet wurde, dann musste man verschachtelte Anführungszeichen entkommen, das ist ein bisschen ungünstig.

+0

Aber wenn ich keine doppelten Anführungszeichen habe? wie in Rost https://stackoverflow.com/questions/29483365/what-is-the-syntax-for-a-multiline-string-literal#answer-29483453 – Sodiaan

+1

@Sodiaan Sind Triple-Anführungszeichen ein Problem für Sie? Sie möchten nicht tippen? – ZhekaKozlov

+0

Warum beide haben, warum nicht nur dreifache Anführungszeichen? – Sodiaan

3

legen Sie einfach Code wie folgt formatiert:

val text = """ 
    for (c in "foo") 
     print(c) 
""" 

oder Sonderzeichen verwenden wie " ohne die Notwendigkeit zu entkommen. Es ist sehr ordentlich, wenn es zum Beispiel um JSON geht.