17.2.4.5
Zeichenketten
Zeichenketten haben in Lua die übliche Bedeutung; sie entsprechen einer Rei-
he von einzelnen Zeichen. Im Gegensatz zu anderen Sprachen unterstützt Lua
jedoch 8 Bit Zeichen in Zeichenketten. Dies hat einen entscheidenden Vorteil:
Zeichenketten (strings) können in Lua 'jedes' beliebige Zeichen enthalten, d.h.
auch ein Null Byte (in C das Stringende). Mit anderen Worten: Sie können be-
liebige d.h. auch binäre Daten in Lua Zeichenketten speichern ohne besondere
Einschränkungen/Ausnahmen befürchten zu müssen.
Zeichenketten werden durch einfache Hochkommas, doppelte Hochkommas
oder doppelte eckicke Klammern definiert.
1
p r i n t ( " I t ' s your code " )
2
p r i n t ( ' He says : " Hi " ' )
3
p r i n t ( [ [ H e l l o \ nWorld ] ] )
4
Warum so verschiedene Arten der String-Definition?
Die Verwendung der speziellen Zeichen Hochkomma und doppeltes Hochkom-
ma innerhalb einer Zeichenkette wird dadurch vereinfacht. Wählen Sie einfach
das Zeichen zur Spezifikation Ihrer Zeichenkette, welches Sie in dieser nicht
verwenden wollen.
Zeichenketten innerhalb zweier eckigen Klammern erlauben zudem die Unter-
drückung von sogenannten Escape Sequenzen.
17.2.4.6
Zeichenketten mit Escape Sequenzen
Lua definiert folgende Escape Sequenzen innerhalb von Zeichenketten:
Escape Sequenze
\a
\b
\f
\n
\r
\t
\v
\\
\"
\'
\ddd
Die folgenden Beispiele zeigen ihre Verwendung:
1
p r i n t ( ' I t \ ' s your code ' )
2
p r i n t ( "He says : \ " Hi \ " " )
3
p r i n t ( " Tab1 \ tTab2 " )
4
p r i n t ( " Two backslashes \ \ \ \ " )
5
p r i n t ( " H e l l o \ nworld ' ' )
6
7
p r i n t ( [ [ H e l l o \ nworld ] ] )
Mittels \ddd können Sie jedes beliebige Byte als numerischen Dezimalwert in
einem String einfügen. Für eine Zeichenkette bestehend aus den Zeichen 0...3
> I t ' s your code
> He says : " Hi "
> H e l l o
World
Beschreibung
Glocke
Rücktaste
Formfeed
Zeilenumbruch (Linefeed)
Carriage Return
horizontaler Tabulator
vertikaler Tabulator
Backslash
doppeltes Hochkomma
einfaches Hochkomma
Zeichen mit dem numerischen Dezimalwert ddd
> I t ' s your code
> He says : " Hi "
> Tab1
> Two \ \
> H e l l o
w o r l d
> H e l l o \ nworld
17.2. DIE LUA SPRACHE
Tab2
205