A Metatable es una tabla de funciones que controla cómo actúa una tabla diferente en un lugar de Roblox. Por ejemplo, si se quisiera crear una tabla con números y funciones matemáticas dejando la tabla intacta, esta función sería la solución a dicho problema.
Metamétodos
Un metamétodo es un método que se llama cuando un objeto o entidad intenta afectar la tabla. Permiten una fácil manipulación de la mesa.
Metamétodo | Descripción |
__index (tabla, índice) | Se disparó sobre: tabla [índice], cuando la tabla [índice] es nula |
__newindex (tabla, índice, valor) | Activado sobre: tabla [índice] = valor, cuando la tabla [índice] es nula |
__call (tabla, ...) |
Disparado sobre: tabla (...), donde ... se pasan los argumentos |
__concat (tabla, valor) | Disparo sobre: mesa .. valor |
__unm (tabla) | Disparo sobre: mesa |
__add (tabla, valor) | Disparo sobre: tabla + valor |
__sub (tabla, valor) | Disparo sobre: mesa - valor |
__mul (tabla, valor) | Disparo sobre: tabla * valor |
__div (tabla, valor) | Disparo sobre: tabla / valor |
__mod (tabla, valor) | Disparo sobre: tabla% valor |
__pow (tabla, valor) | Disparo sobre: tabla ^ valor |
__tostring (tabla) | Disparo sobre: tostring (mesa) |
__metatable | Permite un valor de retorno personalizado en la función getmetatable () |
__eq (tabla, valor) | Disparo sobre: tabla == valor |
__lt (tabla, valor) | Disparo sobre: mesa <valor, Opuesto disparado sobre: mesa> = valor |
__le (tabla, valor) | Disparo sobre: tabla <= valor, Opuesto disparado sobre: tabla> valor |
__modo | Se usa para declarar claves / valores débiles |
__gc (tabla) | Disparo sobre: recolectar basura (mesa) |
__len (tabla) | Disparo sobre: #table |