Raku-Kurs / Grundlagen / Grundlagen zu Variablen und Datentypen / Zeichenketten
Spezielle Zeichen escapen
Stellen Sie sich vor, Sie möchten ein Preisschild drucken und sowohl den Namen des Produkts als auch dessen Preis in Skalaren speichern?
my $product = 'Electricity';
my $price = 3.14;Wie drucken Sie das Schild, wenn der Preis in Dollar angegeben werden
soll? Die erwartete Ausgabe ist: Electricity costs $3.14.
Ein Dollarzeichen in doppelt-angeführten Strings ist ein Indikator für
eine zu interpolierende Variable. Um das $-Zeichen selbst
zu drucken, müssen Sie es maskieren:
say "$product costs \$$price";Natürlich können Sie auch String-Konkatenation verwenden und das
Maskieren von $ vermeiden:
say $product ~ ' costs $' ~ $price;Diese Variante druckt genau denselben String, aber die Interpolation
wirkt natürlicher und ist leichter zu lesen. Beachten Sie, dass das
$-Zeichen in einem einfach-angeführten String weder
interpoliert noch maskiert wurde: ' costs $'. Das ist der
Hauptunterschied. Sonderzeichen in einfachen Anführungszeichen
erscheinen unverändert.
Hier sind einige weitere Sonderzeichen, die in doppelt-angeführten Strings eine besondere Bedeutung haben:
\$ | Dollarzeichen \n | Zeilenumbruch
\r | Wagenrücklauf \t | Horizontaler Tabulator
\" | Doppelte Anführungszeichen \\ |
Rückwärtsschrägstrich
Die Art und Weise, wie Sie den String anführen, definiert, wie Raku Sonderzeichen behandelt. Betrachten Sie diese beiden Beispiele:
say 'One\nTwo';
say "Three\nFour";Wenn Sie dieses Programm ausführen, werden Sie sehen, dass der erste String unverändert in einer einzigen Zeile erscheint. Der zweite String wurde in zwei Teile aufgeteilt:
One\nTwo
Three
Four
In doppelt-angeführten Strings wurde die spezielle Sequenz
\n als Zeilenumbruch verarbeitet, während sie in einem
String in einfachen Anführungszeichen eine reguläre Sequenz von zwei
Zeichen war: \ und n.
Es gibt eine interessante Ausnahme für ' und
\. In einfachen Anführungszeichen können Sie ein einfaches
Anführungszeichen maskieren, indem Sie ihm ein weiteres \
voranstellen:
say '\''; # 'Ein Rückwärtsschrägstrich muss ebenfalls maskiert werden, wenn ihm ein einfaches Anführungszeichen folgt:
say 'a\b\c\\'; # a\b\c\Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Code-Interpolation | Quiz: Ein Backslash in der Ausgabe →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.