Funktion
Aus morphosi.net wiki
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")
