Dies ist eine alte Version des Dokuments!
Lua ist interpretiert und verfügt über ein REPL.
Ende von Statements/Instruktionen wird automatisch erkannt, es können also mehrere auf einer Zeile stehen ohne Trennzeichen oder Zeilenumbruch.
a, g, f = 1, 3 </shx> * a = 1 * g = 3 * f = nil * da weniger Werte als Variablen angegeben ===== Kommentare ===== * <code>--</code> leitet einen einzeiligen Kommentar ein * <code>--[[Sometext--]]</code> ist ein mehrzeiliger Kommentar ===== dofile ===== Importiert alles aus einer Datei in den lokalen Namespace. <sxh lua> dofile("somefile.lua)
Anschließend können die Funktionen in somefile.lua benutzt werden als wären sie in der lokalen Datei.
Im Prinzip wie wenn man in Python import x from y macht.
Definiert eine Funktion
function somename(parameter1, parameter2) somecode end
Funktionen:
a={} --Erstellt leere Table print(a[5]) --Gibt nil zurück, da der Key nicht existiert a.x=6 --Setzt den Index "x" auf 6 print(a["x"]) --Ergibt 6
a="Hallo" b=a --b hat jetzt auch den Wert "Hallo" a="Anders" print(b) --das gibt "Hallo" zurück, da der Wert von a an b kopiert wurde, nicht die Referenz c={} c.x=6 d=c --d und c verweisen jetzt auf die gleiche table als Referenz, nicht als Wert d.x=8 print(c.x) --das gibt 8 zurück, da c und d auf die gleiche table verweisen, nicht auf den gleichen Wert
for key, value in ipairs(mytable) do print(key, value) end
a={2,3,x=6} print(a[1]) print(a["x"])
Funktioniert über Funktionen.
a={6,8,'bla'='blub', 99} for key, value in pairs(a) do print(key, value) end for key, value in ipairs(a) do print(key, value) end
a and b or c
"bla" .. "blub" a .. "Blub"
„..“ ist der Verkettungsoperator
Begriff | Beschreibung |
---|---|
Chunk | Ein Satz von Instruktionen die nacheinander ausgeführt werden (in einem Schwung). Das kann eine einzelne Zeile (bis man Enter drückt) im REPL (interaktive Konsole) sein oder eine ganze Datei. |