Raku-Kurs / Grundlagen / 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
Machen Sie das Quiz, das den Inhalt dieses Themas abdeckt.
Kursnavigation
← Zeichenketten / Code-Interpolation | Zeichenketten / Zeichenkettenlänge →
💪 Or jump directly to the exercises to this section.
Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.
Übersetzungen dieser Seite: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська