Lua-Programmierung: Metatables
Aus Wikibooks
[Bearbeiten] Das Table-Problem
Wir erzeugen jetzt zwei Table welche ein paar numerische Werte in sich tragen:
a = { 23, 23, 4} b = { 8, 12, 23}
Sollten wir jetzt vorhaben die beiden Tables zur addieren um es bspw. auszugeben (print(a+b)) erwartet uns nur ein Fehler. Das Problem ist das der Interpreter nicht weiß was er tun soll, im Falle einer Addition. Die Lösung für das Problem sind Metatables.
[Bearbeiten] Die Lösung: Metatables
Metatables sind spezielle Tables die nur bestimmte Funktionen aufnehmen. Diese bestimmten Funktionen sind Operatoren wie +, -, *, /, ... . In Metatables können wir sie neu definieren.