5 min read
What You Should Know Now — and What's Next
What You Should Know Now
- Variables, types, strings, and operators — and why only
nilandfalseare falsy - Tables as arrays, dictionaries, and objects
- Functions, closures, multiple returns, and variadic functions
- String patterns for searching and parsing
- Metatables, metamethods, classes, and inheritance
- Modules, error handling with
pcallanderror, and files - Iterators and coroutines
- Environments, sandboxing, weak tables, and performance
- Lua versions and LuaJIT, and embedding Lua in C
- Lua in games (LÖVE, Roblox), Neovim, Redis, and Nginx
What Should You Learn Next?
- Your host platform in depth — LÖVE or Defold for games, Roblox Studio and Luau, Neovim's API, or OpenResty — Lua is usually learned for something.
- C — C is Lua's implementation language; knowing it lets you embed Lua and write fast native modules.
- Python — Python for general-purpose scripting, data work, and automation outside embedded environments.
- JavaScript — JavaScript shares Lua's dynamic, prototype-based design and runs the web.
Build Something
Pick a host you enjoy — a game engine, your editor, or a server — and build something useful in it: a small game, a plugin, or a script that automates a chore. Share it, and read other people's Lua code in the same ecosystem.