← Languages

Lua

Full course · 21 lessons

Lua 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.

Knowledge Course
01

Getting Started with Lua

Installing, printing, variables, and comments.

45 min
02

Values and Types

Numbers, strings, the string library, booleans, and nil.

45 min
03

Control Flow

if/elseif/else, while, for, repeat, and goto.

45 min
04

Functions

Basic functions, multiple returns, variadics, and closures.

60 min
05

Tables

Tables as arrays and maps, constructors, iteration, and the table library.

60 min
06

Metatables

__index, __newindex, operator metamethods, and __tostring.

60 min
07

Modules and Packages

Module patterns, require, encapsulation, and namespaces.

60 min
08

Pattern Matching

match, find, gsub, captures, and character classes.

60 min
09

Object-Oriented Programming

The self pattern, colon methods, inheritance, and composition.

75 min
10

Error Handling

pcall, xpcall, error, and assert.

60 min
11

Coroutines

Cooperative multitasking, generators, and state machines.

75 min
12

Standard Library

os, io, math, and table utilities.

60 min
13

Variadics and Multiple Values

... variadics, select, multiple assignment, and defaults.

60 min
14

Memory Management

Weak tables, garbage collection, and upvalues.

75 min
15

Embedding and Ecosystem

The C API, LuaJIT, versions, and use cases.

75 min
16

Advanced OOP Patterns

Method chaining, duck typing, and singletons.

75 min
17

Command-Line Tools

arg handling, environment, and small CLI programs.

60 min
18

Testing

Assertions, pcall-based runners, busted, and the test cycle.

60 min
19

Performance

Locals, table allocation, string building, and data structures.

75 min
20

Real-World Programs

Word counting, HTTP, JSON, and Redis scripting.

75 min
21

Advanced Patterns

DI containers, event loops, observers, and the ecosystem.

75 min
Curated Resources