Чек-лист самопроверки
Чек-лист самопроверки
- Что такое Lua и для каких задач он предназначен?
- Кто создал Lua и где он был разработан?
- Почему Lua популярен в игровой индустрии?
- Какие есть реализации Lua (стандартный интерпретатор, LuaJIT)?
- Что такое Luau и чем он отличается от Lua?
- Поддерживает ли Luau статическую типизацию?
- Как запустить Lua-скрипт из командной строки?
- Какие есть примитивные типы данных в Lua?
- Что такое
nilи как он используется? - В чём разница между
nilиfalse? - Как работают логические операторы (
and,or,not)? - Что такое «ложные» значения в Lua?
- Как объявляются переменные (
local, глобальные)? - Почему рекомендуется использовать
localпо умолчанию? - Что такое таблица (
table) и как она создаётся? - Как использовать таблицу как массив?
- Как использовать таблицу как словарь (ассоциативный массив)?
- Как итерироваться по таблице (
pairs,ipairs)? - В чём разница между
pairsиipairs? - Как объявляется функция в Lua?
- Могут ли функции возвращать несколько значений?
- Как принимать переменное число аргументов (
...)? - Что такое замыкания и как они работают?
- Что такое анонимные функции?
- Как передавать функцию как аргумент?
- Что такое метатаблицы (
metatable) и зачем они нужны? - Какие метаметоды существуют (
__index,__newindex,__add,__call)? - Как реализовать ООП в Lua с помощью таблиц и метатаблиц?
- Что такое прототипное наследование в Lua?
- Как работает оператор
.и:при вызове методов? - Что такое модули и как их создавать (
return {})? - Как загружать модули (
require)? - Как работает сборка мусора в Lua?
- Можно ли управлять GC вручную (
collectgarbage)? - Как обрабатывать ошибки (
pcall,xpcall)? - Что такое
assertи как он используется? - Как работают строки и конкатенация (
..)? - Как использовать шаблонные строки или форматирование (
string.format)? - Как работать с регулярными выражениями (шаблоны Lua)?
- Что такое корутины (
coroutine.create,resume,yield)? - Как реализовать кооперативную многозадачность?
- Как Lua взаимодействует с C (через C API)?
- Что такое стек Lua и как он используется в C API?
- Как зарегистрировать C-функцию в Lua?
- Какие есть менеджеры пакетов для Lua (LuaRocks)?
- Как использовать внешние библиотеки в Lua?
- Какие особенности синтаксиса есть в Luau (например,
continue)? - Как аннотировать типы в Luau (
x: number,function f(x: string): boolean)? - Как работает проверка типов во время выполнения в Luau?
- Какие инструменты разработки поддерживают Lua и Luau (Roblox Studio, ZeroBrane, EmmyLua)?
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Lua — это компактный, быстрый, встраиваемый интерпретируемый язык программирования высокого уровня, разработанный с акцентом на простоту, гибкость и эффективность. Набор советов, правил, принципов и обычаев в разработке на этом языке. LÖVE (Love2D) - 2D-движок для создания игр на Lua, кроссплатформенный, имеет простой API (love.load(), love.update(dt), love.draw()), используется инди-разработчиками и для обучения. Lua 5.1 (2006) — стабильная, самая распространённая версия. Используется в World of Warcraft, Nginx, многих движках. Гайд по установке и настройке с написанием первой программы и её запуском. Кавычки, точки, запятые, скобки и прочие знаки препинания. Lua использует двадцать два зарезервированных ключевых слова. Все они являются частью синтаксиса языка и недоступны для использования в качестве идентификаторов. Набор функций, которые включены в стандартную библиотеку языка. Типизация, набор правил определения типа данных значений языка. Lua предоставляет две формы условной конструкции — if-then-else и её компактный аналог через and/or, хотя последний используется с осторожностью из-за семантических различий. Анонимные функции (или лямбда-выражения) — это функции без имени, которые могут быть определены inline. Они особенно полезны при передаче в качестве аргументов или при создании замыканий. Объектно-ориентированное программирование (ООП) — это парадигма программирования, которая организует код вокруг объектов, объединяющих данные и поведение. В языке Lua отсутствует встроенная поддержка…Основы языка Lua
Рекомендации по разработке на Lua
Экосистема приложений на Lua
История языка Lua
Первая программа на Lua
Синтаксис и пунктуация в Lua
Ключевые слова языка Lua
Встроенные функции и стандартная библиотека Lua
Типы данных и объявление переменных в Lua
Управляющие конструкции и циклы в Lua
Функции, замыкания и анонимные функции
Объектно-ориентированное программирование в Lua