Level 2 — Intermediate
These lessons cover closures, variadic functions, string patterns, advanced tables, metatables and metamethods, object-oriented programming, inheritance, modules, error handling, files, iterators, and coroutines. Recommended: the Level 1 lessons, especially tables, functions, and loops.