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.
--
leitet einen einzeiligen Kommentar ein
--[[Sometext--]]
ist ein mehrzeiliger Kommentar
Importiert alles aus einer Datei in den lokalen Namespace.
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 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. |