12.7 Funktionen in Tabellenelemente

Wie wir bereits gelernt haben, sind Funktionen in Hollywood nur Variablen vom Typ "Function". Daher können Sie sie überall wie die Variablen verwenden. Dazu gehören auch Tabellen. Sie können Funktionen wie normale Zeichenketten oder Werte in einer Tabelle speichern und von dort aufrufen. Lassen Sie uns ein Beispiel anschauen:

 
mathlib = {}  ; erstellt eine leere Tabelle

Function mathlib.add(a, b)
    Return(a + b)
EndFunction

Function mathlib.sub(a, b)
    Return(a - b)
EndFunction

Function mathlib.mul(a, b)
    Return(a * b)
EndFunction

Function mathlib.div(a, b)
    Return(a / b)
EndFunction

a = mathlib.mul(5, 10)  ; a erhält den Wert 50

Die Tabelle mathlib enthält vier Funktionen, von wo aus sie aufgerufen werden. Natürlich könnte man auch die Funktionen während der Initialisierung der Tabelle erstellen. Dies würde wie folgt aussehen:

 
mathlib = {add = Function(a, b) Return(a + b) EndFunction,
           sub = Function(a, b) Return(a - b) EndFunction,
           mul = Function(a, b) Return(a * b) EndFunction,
           div = Function(a, b) Return(a / b) EndFunction}
a = mathlib.mul(5, 10)  ; a erhält den Wert 50

Dieser Code funktioniert gleich wie der Code oben, ist aber kompakter. Funktionen innerhalb einer Tabelle werden auch oft als "Methoden" bezeichnet. Dies ist ein Begriff aus der Welt der objektorientierten Programmierung.


Navigation zeigen