Funktion

Aus morphosi.net wiki

Wechseln zu: Navigation, Suche

Funktionen erfüllen Aufgaben oder liefern Ergebnisse mittels return zurück.


local function test(arg1)
 print(arg1)
end
 
local function test2(arg1, arg2)
  return tostring(arg1).." "..tostring(arg2)
end
 
test("Hallo Welt!")
print(test2("Hallo","Welt"))

Funktionen sind spezielle Variablen und daher sind Funktionsnamen Variablennamen. Man muss also aufpassen das eine nicht mit dem anderen zu überschreiben.

Folgendes würde die Funktion durch "4" ersetzen:


local function test(arg1)
 print(arg1)
end
 
test = 4

Das kann man sich zu nutze machen. Möchte man zb eine existierende Funktion erweitern ohne die Funktion selbst zu ändern (macht Sinn bei globalen Funktionen, auf die man keinen Zugriff hat) kann man folgendes machen:


function test(arg1)
 print(arg1)
end
 
test("original")
 
local old = test
 
local test = function(arg1)
  print("Funktion erweitert!")
  old(arg1)
end
 
test("erweiterte kopie")

Persönliche Werkzeuge