Lua - Variablendefinition
Bitte Schreibt Verbesserungsvorschläge als Kommentar unter diesen Post.
Blöcke
In Lua wird ein Funktions-"Block" durch jeglichen Befehl gestartet, der mit end beendet wird. Jede einzelne geladene Datei zählt hierbei auch als eigener Block.
Beispiel:
Wie man sieht, wird zur besseren lesbarkeit der Inhalt eines jeden Blocks um einen Tab (oder eine immer gleichbleibende Anzahl von Leerzeichen, ich empfehle 2 bis 4) eingerückt. Zu diesem Zweck spricht man auch bei Tabellen und Funktionen von Blöcken.
Globale und lokale Definition von Variablen
Man kann Variablen global oder lokal definieren. Der unterschied liegt darin, dass globale Variablen, nachdem sie definiert wurden, später an jeder Stelle abgerufen werden können. Lokale Variablen hingegen existieren nur in dem Block, in denen sie definiert wurden, und in dessen Unterblöcken. Um eine Variable als lokale Variable zu definieren, setzt man das wort local vor ihren Namen.
Beispiel für globale Variablen:
Beispiel für lokale Variablen:
Lokale Variablen sind, bis auf die Zugriffsorte, identisch mit globalen.
Variablentypen
Die grundlegenden Variablentypen in Lua sind String, Number, Floating Number, Table und Function.
Strings
Ein String ist nichts anderes als ein simpler Text. Um eine Variable als String zu markieren, gibt es in Lua 3 Wege:
Am gängigsten sind die ersten zwei Möglichkeiten. Die besonderheit bei [[.-]] liegt darin, dass Zeilenumbrüche möglich sind und als \n interpretiert werden.
Information für Questwriter: [[.-]] ist in *.quest-Dateien wegen des Questcompilers nicht zu empfehlen!
Zu Strings kann man andere Variablen hinzufügen, indem man .. benutzt.
Nur Empfehlenswert für Strings, Numbers und Floats. Tables nur bei korrekt angegebener Metatabelle (vielleicht erkläre ich diese später genau).
Number & Floating Number
Eine Number-Variable ist nichts anderes als in anderen Sprachen ein Double - eine Zahl. Eine Floating Number, kurz Float, ist eine Number mit Nachkommazahlen, eingeleitet durch einen Punkt.
Table
Ich werde Tabellen an dieser Stelle nur kurz ansprechen, für sie lege ich einen extra Blogeintrag an, da sie eines der größten Themen in Lua sind.
Eine Table, alias Tabelle oder Array, ist eine Sammlung von Daten. Tables können alle Variablentypen beinhalten, auch sich selbst. Eingeleitet wird eine Tabelle durch { und beendet durch }. Als Indizes kann man Numbers, Strings oder beides benutzen.
Im Folgenden Beispiel zwei äquivalente Tabellen:
Es gibt verschiedenste Wege, Eine Tabelle durch Schleifen durchzugehen oder zu bearbeiten.
Functions
In einer Funktion können öfter genutzte Funktionsabläufe angegeben werden, um sie rekursiv zu nutzen oder den Hauptcode zu verkürzen.
Blöcke
In Lua wird ein Funktions-"Block" durch jeglichen Befehl gestartet, der mit end beendet wird. Jede einzelne geladene Datei zählt hierbei auch als eigener Block.
Beispiel:
PHP Code:
if a == b then
-- Block 1
end
do
-- Block 2
do
-- Block 3
-- Die lokalen Variablen von Block 2 sind hier vorhanden, jedoch kann Block 2
-- nicht auf die lokalen Variablen von Block 3 zugreifen.
end
end
Globale und lokale Definition von Variablen
Man kann Variablen global oder lokal definieren. Der unterschied liegt darin, dass globale Variablen, nachdem sie definiert wurden, später an jeder Stelle abgerufen werden können. Lokale Variablen hingegen existieren nur in dem Block, in denen sie definiert wurden, und in dessen Unterblöcken. Um eine Variable als lokale Variable zu definieren, setzt man das wort local vor ihren Namen.
Beispiel für globale Variablen:
PHP Code:
variable = 1
heinz = 4
karl = 'Maus'
PHP Code:
local variable = 1
local horst = {}
local herbert = 2
Variablentypen
Die grundlegenden Variablentypen in Lua sind String, Number, Floating Number, Table und Function.
Strings
Ein String ist nichts anderes als ein simpler Text. Um eine Variable als String zu markieren, gibt es in Lua 3 Wege:
PHP Code:
local var1 = "Hallo"
local var2 = 'Hallo'
local var3 = [[Hallo]]
Information für Questwriter: [[.-]] ist in *.quest-Dateien wegen des Questcompilers nicht zu empfehlen!
Zu Strings kann man andere Variablen hinzufügen, indem man .. benutzt.
PHP Code:
local e = "Hallo"
local d = "Peter"
local end = e.." "..d
-- Ausgabe: Hallo Peter
Number & Floating Number
Eine Number-Variable ist nichts anderes als in anderen Sprachen ein Double - eine Zahl. Eine Floating Number, kurz Float, ist eine Number mit Nachkommazahlen, eingeleitet durch einen Punkt.
PHP Code:
local num1 = 123
local num2 = 456
local float1 = 1.23
local float2 = 4.56
Ich werde Tabellen an dieser Stelle nur kurz ansprechen, für sie lege ich einen extra Blogeintrag an, da sie eines der größten Themen in Lua sind.
Eine Table, alias Tabelle oder Array, ist eine Sammlung von Daten. Tables können alle Variablentypen beinhalten, auch sich selbst. Eingeleitet wird eine Tabelle durch { und beendet durch }. Als Indizes kann man Numbers, Strings oder beides benutzen.
Im Folgenden Beispiel zwei äquivalente Tabellen:
PHP Code:
local tab = {
4,5
["name"] = "Herbert",
["miep"] = function() return 2 end
}
tab = {}
tab[1] = 4
tab[2] = 5
tab.name = "Herbert"
tab.miep = function() return 2 end
Functions
In einer Funktion können öfter genutzte Funktionsabläufe angegeben werden, um sie rekursiv zu nutzen oder den Hauptcode zu verkürzen.
PHP Code:
function(a)
print('Eingabe: '..a)
end
Total Comments 3
Comments
-
Du hast auch langeweile, aber nice
Posted 09/06/2012 at 10:28 by Hanashi
-
Der hat 24/7 langeweile, war schon immer so <3 xDPosted 09/06/2012 at 10:29 by JohnSilver1992
-
Lasst mich
Ich brauch doch auch was zu tun xDPosted 09/06/2012 at 10:31 by Mijago







