Lua with Neovim: Metatables — __tostring, __add, __eq, __index & Custom Table Behavior | Episode 29

3views
00
14:14
T
Taught by Celeste AI - AI Coding Coach
View on YouTube
Description
Metatables are Lua's secret weapon. In this episode we learn how to attach custom behavior to tables: setmetatable to assign a metatable, __tostring for print output, __add and __eq for operator overloading, and __index for fallback lookups — the foundation for OOP in Lua. Every keystroke is shown on screen with 3-second pauses so you can follow along at your own pace. What You'll Learn: - setmetatable(t, mt) — attaching a metatable to a table - __tostring — custom string representation for print - __add — overloading the + operator for tables - __eq — custom equality comparison - __index — fallback lookup when a key is missing - How Lua checks the metatable on every operation Student Code: https://github.com/GoCelesteAI/learn-lua-in-neovim/tree/main/episode29 Timestamps: 0:00 Intro 0:12 Preview 0:44 __tostring — Custom Print Output 2:53 Run __tostring 3:04 Vector Class with __add 6:21 Vector Run — Addition & Equality 9:07 __index as Fallback 12:27 Final Run 12:47 Recap 13:19 Endscreen Key Takeaways: 1. setmetatable attaches a metatable that controls table behavior 2. __tostring defines how a table prints as a string 3. __add and __eq let you overload operators for tables 4. __index provides a fallback when a key isn't found 5. Metatables are the foundation for OOP and inheritance in Lua This is Episode 29 of the Learn Lua in Neovim series. New episodes cover OOP with metatables, the Neovim Lua API, and writing your first Neovim plugin — all coded inside Neovim. Taught by CelesteAI. Like & subscribe for more tutorials! #lua #neovim #programming #tutorial #beginners #learnlua #luaprogramming #neovimtutorial #luametatables #luametamethods #coding Tags lua, lua tutorial, learn lua, lua metatables, lua metamethods, lua setmetatable, lua __tostring, lua __add, lua __eq, lua __index, lua operator overloading, lua fallback lookup, lua custom behavior, lua for beginners, neovim lua, neovim tutorial, learn lua in neovim, lua episode 29, programming tutorial, coding tutorial, intermediate programming, lua 2026, neovim 2026, screenkey, code along, lua advanced, lua table behavior

Tags

lualua tutoriallearn lualua metatableslua metamethodslua setmetatablelua __tostringlua __addlua __eqlua __indexlua operator overloadinglua fallback lookuplua custom behaviorlua for beginnersneovim lua
Back to tutorials

Duration

14:14

Published

March 8, 2026

Added to Codegiz

March 15, 2026

Open in YouTube