Logo AeK Script-Wiki Logo AeK Script-Wiki Logo AeK Script-Wiki

Zeichenketten

Zeichenketten bestehen, wie der Name schon sagt, aus ein oder mehr Zeichen, aus Zeichenfolgen.
Die Zeichen in einem Lua-String bestehen immer aus einem Byte, was bedeutet, dass Lua Unicode oder UTF-8 nicht direkt unterstützt.

Die GUI-Funktionen von DIE SIEDLER - AUFSTIEG EINES KÖNIGREICHES verwenden normalerweise eine UTF-8-Tabelle und keine ANSI-Tabelle. Das bedeutet, dass bei Sonderzeichen, die nicht in der ASCII-Tabelle vorhanden sind, wie die deutschen Umlaute und ß, entweder als ihren UTF-8-Wert, der aus zwei Bytes besteht, in die Skripts kopiert werden muss, oder dass vor die wichtigsten Anzeigefunktionen eine Konvertierungsfunktion zwischengeschaltet werden muss. Ansonsten wird bei den Sonderzeichen die Anzeige abgeschnitten.

Zeichenketten werden meist von oder ' begrenzt. Diese Zeichenketten enden aber immer in der gleichen Zeile. Beispiele:

a = "Test"
b = 'Mein Text'

Um auch bestimmte Sonderzeichen wie „neue Zeile“ (new line/line feed) einzufügen, können Escape-Sequenzen verwendet werden. Escape-Sequenzen beginnen immer mit einem Backslash. Hier werden nur die wichtigsten genannt:

SequenzErgebnis
\nNeue Zeile
\rWagenrücklauf
\ + neue Zeileneue Zeile
\“Anführungszeichen
\'Apostroph
\\Backslash

FIXME Test, ob \n, \r und \ + neue Zeile in S6 funktionieren.

Um auch Zeichenketten leicht einzubauen, die über mehrere Zeilen gehen, existiert ein Klammersyntax.
Eine solche Zeichenkette beginnt mit einer öffnenden eckigen Klammer, gefolgt von einer beliebigen Zahl an Gleichheitszeichen und abgeschlossen von einer weiteren öffnenden eckigen Klammer. Die Zeichenkette wird dann von einer Zeichen-Sequenz besteht aus schließender eckiger Klammer, gefolgt von der gleichen Anzahl an Gleichheitszeichen wie beim Anfang und wieder abgeschlossen durch eine schließende eckige Klammer.

Escape-Sequenzen werden bei dieser Syntax nicht verarbeitet.

Beispiele:

a = [[ hallo ]]
b = [=[
Dieser String geht über mehr als eine Zeile
 
]=]
c = [==[
[[Beachte diese eckigen Klammern innerhalb der Zeichenkette]]
]==]

Weiterführende Links

Anmeldung/ Registrierung

Passwort vergessen? Kein Problem: Sende neues Passwort

· Zuletzt geändert: 14/12/2007 23:01 von old_mcdonald (1245 views)