← 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