Variable
Aus morphosi.net wiki
Inhaltsverzeichnis |
Variablen
Variablen sind entweder lokal oder global. Das bedeutet an verschiedenen Stellen im Code kann eine Variable unterschiedliche Werte besitzen. Man sollte jede Variable lokal nutzen, da sich alle AddOns die globalen Variablen teilen. Für globale Variablen muss man daher einzigartige Bezeichnungen wählen um Konflikten entgegen zu wirken.
Global
Globale Variablen sollte man sparsam einsetzen. Sinn machen sie zb um anderen AddOns Zugriff auf bestimmte Funktionen oder Variablen des eigenen AddOns zu bieten.
meinAddOn_zeit = GetTime()
function meinAddOn_getTime() return GetTime() end
Lokal
Um eine Variable als lokal zu deklarieren stellt man ihr ein local voran.
local alocal function getTime() return GetTime() end
Das lokal bezieht sich dabei immer auf die Position im Code.
local aGilt zb in der Datei in der es platziert ist durchgängig.
local function test() local a end
Gilt nur in dieser Funktion.
do local a end
Ein do-end-Block erzeugt einen neuen lokalen Namensraum, der nur in diesem Block gültig ist.
for a = 1,10 do end
Die Variable a ist auch hier lokal auf die For-Schleife begrenzt.
Variablen Typen
Man kann LUA auf wenige Typen einschränken.
- Boolean (wahr/falsch)
- Wert (String, Zahl, Funktion etc)
- Tabelle
Eine Tabelle ist dabei eigentlich alles was nicht als Boolean oder Wert definiert ist. Zb ist auch ein Frame im Grunde eine Tabelle.Funktionen sind zb Variablen. Und man sollte aufpassen einen existierenden Funktionsnamen nicht als Variablennamen zu wählen.
local wahr = true local falsch = false local a = 1 local b = "Montag" local tab = {} tab['test'] = "Dienstag" tab['test2'] = function() print("Hallo") end
Man kann Funktionen in Tabellen speichern.
