Lua-Programmierung: Metatables

Aus Wikibooks

Wechseln zu: Navigation, Suche

[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.

Persönliche Werkzeuge