Ich werde in diesen Tutorial auf die return-Anweisung & auf die Wertrückgabe eingehen.
return-Anweisung
Lua bietet die Möglichkeit, mit den Befehl return, was auf Deutsch soviel wie "gehe zurück" heißt, eine Funktion vorzeitig zu verlassen. Schauen wir uns einmal die Funktion text an.
Wenn wir diese Funktion aufrufen wird nur der erste print-Befehl ausgeführt. Sobald der return-Befehl ausgeführt wird, hat es den gleichen Effekt, als wäre die Funktion an ihren Ende angelangt. Sie wird verlassen.
Man sollte beachten, dass return immer das letzte Statement eines Blocks sein muss.
Wertrückgabe
Lassen wir uns nun von einer Funktion einen berechneten Wert zurückgeben.
function quadrat( x )
local quadrat = x*x
return quadrat
end
function calc( player, cmd, wert )
qwert = quadrat(wert)
outputChatBox("Das Quadrat von "..wert.." ist "..qwert)
end
addCommandHandler("quadrat", calc )
Alles anzeigen
Die Frage, wie wir MTA mitteilen, welchen Wert die Funktion zurückgeben soll, hatten wir schon bei der Besprechung des return-Befehls geklärt. Da der return-Befehl eine Funktion beendet, eignet er sich hervorragend dazu, den Rückgabewert zu spezifizieren. Der Rückgabewert steht dabei nach return wobei auch mehrere Werte, getrennt durch ein Komma, übergeben werden können. Eine Klammerung ist dabei nicht notwendig.
Der Script kann noch vereinfacht werden. Da hinter dem return-Befehl ein berechnbarer Ausdruck stehen kann, können wir das x*x direkt dort platzieren und haben eine Variable gespart.
Wenn wir Funktionen schreiben, die "Wahr" oder "Falsch" zurückgeben, dann sollten sie für "Wahr" immer "true" und für "Falsch" immer "false" verwenden.
Beispiel:
Da aber auch return-Anweisungen Ausdrücke verarbeiten kann, kann die Funktion auch so aufgebaut sein
Ich hoffe ich konnte mit diesen Tutorial einigen helfen. Kritik & Verbesserungen sind erwünscht *:)*