Text
Texte in Programmen heißen Strings (Zeichenketten): Zeichen, die wie Perlen auf einer Schnur aufgereiht sind. Du weißt, dass du sie in doppelte Anführungszeichen "…" oder einfache '…' schreibst. Du kannst einen Text wie jeden anderen Wert in einer Variablen speichern und Texte mit .. verbinden:
local hof = "Sonnenblumenhof"
local ernte = "Kürbisse"
local schild = ernte .. " vom " .. hof
print(schild)
print(hof .. ernte)Das gibt Folgendes aus:
Kürbisse vom Sonnenblumenhof
SonnenblumenhofKürbisse.. fügt keine Leerzeichen hinzu. Schreibe sie selbst in die Texte, wie in " vom ". Und + verbindet keine Texte: "Sonnen" + "blumen" endet mit dem Fehler attempt to add a 'string' with a 'string', weil + nur Zahlen addiert.
Ein Text in doppelten Anführungszeichen endet beim nächsten doppelten Anführungszeichen. Wenn du Anführungszeichen in einem Text brauchst, gibt es zwei Wege: Setze den Text in die andere Art von Anführungszeichen, oder schreibe einen Backslash \ vor das Anführungszeichen:
print('Emma sagt: "Willkommen!"')
print("Emma sagt: \"Willkommen!\"")
print("Opa Josefs Scheune")Das gibt Folgendes aus:
Emma sagt: "Willkommen!"
Emma sagt: "Willkommen!"
Opa Josefs ScheuneOhne den Backslash endet der Text zu früh:
print("Emma sagt: "Willkommen!"")Lua meldet:
main.lua:1: ')' expected near 'Willkommen'Der Text endete nach Emma sagt: , und dann fand Lua das Wort Willkommen, wo es die schließende Klammer erwartet hat.
Ein Backslash und das Zeichen danach bilden eine Escape-Sequenz: zwei Zeichen im Code, die für ein besonderes Zeichen im Text stehen:
\nist ein Zeilenumbruch,\tist ein Tabulator,\"und\'sind Anführungszeichen,\\ist ein einzelner Backslash.
print("Karotten\nKartoffeln\tKürbisse")Das gibt Folgendes aus:
Karotten
Kartoffeln KürbisseDie Länge eines Textes liefert # vor dem Text:
local schild = "Eier und Milch"
print(#schild)
print(#"Rex")
print(#"")Das gibt Folgendes aus:
14
3
0Das Leerzeichen zählt mit, und "" ist ein leerer Text ohne ein einziges Zeichen. Genau genommen zählt # Bytes, die kleinen Einheiten, in denen der Computer einen Text speichert. Ein einfacher Buchstabe, eine Ziffer, ein Leerzeichen oder ein Satzzeichen braucht ein Byte, aber ein Buchstabe mit Umlaut, wie das ä in Käse, braucht zwei, deshalb ist #"Käse" gleich 5. Wie du solche Buchstaben zählst, lernst du in der Lektion über Strings.
So schreibst du es:
Anweisungen
- 1
Erzeuge darunter eine Variable
schild, die das WortFrische, die Variableernte, das Wortvomund die Variablehofverbindet, mit Leerzeichen dazwischen. Gib sie dann aus:Frische Erdbeeren vom Sonnenblumenhof - 2
Gib darunter Emmas Einladung in zwei Zeilen aus. Benutze ein
printmit\nfür den Zeilenumbruch und lass die Anführungszeichen um ihre Worte stehen:Frische Erdbeeren vom Sonnenblumenhof Emma sagt: "Probier mal!" - 3
Gib zum Schluss aus, wie lang das Schild ist. Hole die Zahl mit
#aus der Variablenschild:Frische Erdbeeren vom Sonnenblumenhof Emma sagt: "Probier mal!" Das Schild ist 37 Zeichen lang.