Skip to content

Instantly share code, notes, and snippets.

A metatable in Lua defines various extraneous behaviors for a table when indexed, modified, interacted with, etc. They are Lua's core metaprogramming feature; most well known for being useful to emulate classes much like an OOP language.

Any table (and userdata) may be assigned a metatable. You can define a metatable for a table as such:

-- Our sample table
local tab = {}
-- Our metatable
local metatable = {
 -- This table is then what holds the metamethods or metafields
@qoomon
qoomon / conventional-commits-cheatsheet.md
Last active January 7, 2026 15:51
Conventional Commits Cheatsheet