Text verbinden
Oft willst du einen Text und eine Zahl in einer Zeile ausgeben, zum Beispiel Münzen: 120. In Lua verbindest du Texte mit zwei Punkten, ... Programmierer nennen das Verbinden von Texten Verkettung (englisch „concatenation“):
print("Emmas" .. " " .. "Hof")
print("Münzen: " .. 120)Das gibt Folgendes aus:
Emmas Hof
Münzen: 120.. verbindet die Werte genau so, wie sie sind, ohne Leerzeichen hinzuzufügen. Die Leerzeichen musst du selbst in die Anführungszeichen schreiben. Deshalb steht in "Münzen: " ein Leerzeichen nach dem Doppelpunkt. Ohne es kleben Text und Zahl zusammen:
print("Münzen:" .. 120)Das gibt Folgendes aus:
Münzen:120Eine Zahl, die mit einem Text verbunden wird, wird Teil des Textes. Du kannst auch eine Rechnung verbinden. Lua rechnet zuerst und verbindet danach, du brauchst also keine Klammern:
print("Eier heute: " .. 7 + 5)
print("6 Karotten kosten " .. 6 * 5 .. " Münzen.")Das gibt Folgendes aus:
Eier heute: 12
6 Karotten kosten 30 Münzen.Schreibe immer Leerzeichen um ... Neben einer Zahl sind sie sogar Pflicht: Ohne sie liest Lua 1..2 als eine seltsame Zahl und bricht mit dem Fehler malformed number near '1..2' ab. Mit Leerzeichen gibt print(1 .. 2) den Wert 12 aus: die beiden Zahlen, zu einem Text verbunden.
Viele andere Sprachen verbinden Texte mit +. In Lua addiert + nur Zahlen, deshalb endet print("Münzen: " + 120) mit dem Fehler attempt to add a 'string' with a 'number': Lua kann einen Text (eine Zeichenkette) und eine Zahl nicht addieren.
print kann auch mehrere Werte auf einmal ausgeben: Trenne sie durch Kommas. Es gibt sie in einer Zeile aus und setzt zwischen die Werte einen Tabulator, einen breiten Abstand, der die Werte in Spalten ausrichtet:
print("Karotte", 5, "Münzen")
print("Kürbis", 20, "Münzen")Das gibt Folgendes aus:
Karotte 5 Münzen
Kürbis 20 MünzenKommas sind praktisch, wenn du nur schnell ein paar Werte sehen willst. Für einen schönen Satz nimmst du .., damit entscheidest du über jedes Leerzeichen. Und weil ein Komma Werte trennt, müssen Dezimalzahlen mit einem Punkt geschrieben werden: print(2,5) gibt nicht zweieinhalb aus, sondern zwei Zahlen, 2 und 5, mit einem Tabulator dazwischen.
So schreibst du es:
Anweisungen
- 1
Das Programm im Editor gibt die Preise an Emmas Marktstand aus. Führe es aus: Die Kommas setzen einen Tabulator zwischen jeden Namen und seinen Preis. Schreibe beide Zeilen mit
..neu und füge das WortMünzenhinzu, sodass das Programm Folgendes ausgibt:Karotte: 5 Münzen Kürbis: 20 Münzen - 2
Opa Josef will 4 Kürbisse kaufen. Füge eine Zeile hinzu, die ausgibt, wie viel sie zusammen kosten. Lass Lua den Preis als
4 * 20berechnen und verbinde das Ergebnis mit den Texten, sodass das Programm Folgendes ausgibt:Karotte: 5 Münzen Kürbis: 20 Münzen 4 Kürbisse: 80 Münzen - 3
Opa Josef nimmt außerdem 10 Karotten. Gib in der letzten Zeile aus, wie viel er für alles bezahlt. Lass Lua es aus den Preisen berechnen: 4 Kürbisse für je 20 Münzen und 10 Karotten für je 5 Münzen. Das Programm gibt dann Folgendes aus:
Karotte: 5 Münzen Kürbis: 20 Münzen 4 Kürbisse: 80 Münzen Opa Josef zahlt: 130 Münzen