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. |