Lua
Full course · 21 lessonsLua is a lightweight, embeddable scripting language prized for its speed, simplicity, and tiny footprint. It powers game engines (Roblox, Love2D), embedded systems, and configuration in Neovim and Redis. These are the definitive free resources — vetted, current, and complete.
Getting Started with Lua
Installing, printing, variables, and comments.
Values and Types
Numbers, strings, the string library, booleans, and nil.
Control Flow
if/elseif/else, while, for, repeat, and goto.
Functions
Basic functions, multiple returns, variadics, and closures.
Tables
Tables as arrays and maps, constructors, iteration, and the table library.
Metatables
__index, __newindex, operator metamethods, and __tostring.
Modules and Packages
Module patterns, require, encapsulation, and namespaces.
Pattern Matching
match, find, gsub, captures, and character classes.
Object-Oriented Programming
The self pattern, colon methods, inheritance, and composition.
Error Handling
pcall, xpcall, error, and assert.
Coroutines
Cooperative multitasking, generators, and state machines.
Standard Library
os, io, math, and table utilities.
Variadics and Multiple Values
... variadics, select, multiple assignment, and defaults.
Memory Management
Weak tables, garbage collection, and upvalues.
Embedding and Ecosystem
The C API, LuaJIT, versions, and use cases.
Advanced OOP Patterns
Method chaining, duck typing, and singletons.
Command-Line Tools
arg handling, environment, and small CLI programs.
Testing
Assertions, pcall-based runners, busted, and the test cycle.
Performance
Locals, table allocation, string building, and data structures.
Real-World Programs
Word counting, HTTP, JSON, and Redis scripting.
Advanced Patterns
DI containers, event loops, observers, and the ecosystem.
Free Books
Official Documentation
Interactive Courses
Video Courses
Practice & Challenges
Reference & Cheatsheets
News & Updates
Community
Reddit r/lua
The premier community for Lua developers to share news, projects, and troubleshooting help.
Lua Mailing List (lua-l)
Official mailing list where language creators discuss compiler updates, performance, and proposals.
Stack Overflow — Lua Tag
Definitive Q&A for Lua troubleshooting, table operations, and C API integration.

