Variable

Aus morphosi.net wiki

Wechseln zu: Navigation, Suche

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 a


local function getTime()
  return GetTime()
end

Das lokal bezieht sich dabei immer auf die Position im Code.


local a

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

Persönliche Werkzeuge