A Metatable is a table of functions that controls how a different table acts in a Roblox place. For example, if one wanted to create a table with numbers and math functions while leaving the table intact, this function would be the solution to said problem.
Metamethods[]
A metamethod is a method called when an object or entity attempts to affect the table. They allow for easy manipulation of the table.
| Metamethod | Description |
| __index(table, index) | Fired upon: table[index], when table[index] is nil |
| __newindex(table, index, value) | Fired upon: table[index] = value, when table[index] is nil |
| __iter(table) | Fired upon iterating a table, must return an iterator function (such as next) and at least 1 parameter for it |
| __call(table, ...) |
Fired upon: table(...), where ... are the arguments passed |
| __concat(table, value) | Fired upon: table .. value |
| __unm(table) | Fired upon: -table |
| __add(table, value) | Fired upon: table + value |
| __sub(table, value) | Fired upon: table - value |
| __mul(table, value) | Fired upon: table * value |
| __div(table, value) | Fired upon: table / value |
| __idiv(table, value) | Fired upon: table // value |
| __mod(table, value) | Fired upon: table % value |
| __pow(table, value) | Fired upon: table ^ value |
| __tostring(table) | Fired upon: tostring(table) |
| __metatable | Allows a custom return value upon the getmetatable() function |
| __eq(table, value) | Fired upon: table == value |
| __lt(table, value) | Fired upon: table < value, Opposite fired upon: table >= value |
| __le(table, value) | Fired upon: table <= value, Opposite fired upon: table > value |
| __mode | Used to declare weak keys/values |
| __gc(table) | Fired upon: collectgarbage(table) |
| __len(table) | Fired upon: #table |
External links[]
| Programming |
| ||||||
|---|---|---|---|---|---|---|---|
| Design | |||||||
| Assets | |||||||
| Tools | |||||||
| Monetization | |||||||
| Analytics | Developer Stats ยท Monthly active users (MAU) | ||||||
| Advertising | |||||||
| Resources | |||||||