Перейти к основному содержимому

Чек-лист самопроверки

Разработчику Архитектору

Чек-лист самопроверки

  1. Что такое Lua и для каких задач он предназначен?
  2. Кто создал Lua и где он был разработан?
  3. Почему Lua популярен в игровой индустрии?
  4. Какие есть реализации Lua (стандартный интерпретатор, LuaJIT)?
  5. Что такое Luau и чем он отличается от Lua?
  6. Поддерживает ли Luau статическую типизацию?
  7. Как запустить Lua-скрипт из командной строки?
  8. Какие есть примитивные типы данных в Lua?
  9. Что такое nil и как он используется?
  10. В чём разница между nil и false?
  11. Как работают логические операторы (and, or, not)?
  12. Что такое «ложные» значения в Lua?
  13. Как объявляются переменные (local, глобальные)?
  14. Почему рекомендуется использовать local по умолчанию?
  15. Что такое таблица (table) и как она создаётся?
  16. Как использовать таблицу как массив?
  17. Как использовать таблицу как словарь (ассоциативный массив)?
  18. Как итерироваться по таблице (pairs, ipairs)?
  19. В чём разница между pairs и ipairs?
  20. Как объявляется функция в Lua?
  21. Могут ли функции возвращать несколько значений?
  22. Как принимать переменное число аргументов (...)?
  23. Что такое замыкания и как они работают?
  24. Что такое анонимные функции?
  25. Как передавать функцию как аргумент?
  26. Что такое метатаблицы (metatable) и зачем они нужны?
  27. Какие метаметоды существуют (__index, __newindex, __add, __call)?
  28. Как реализовать ООП в Lua с помощью таблиц и метатаблиц?
  29. Что такое прототипное наследование в Lua?
  30. Как работает оператор . и : при вызове методов?
  31. Что такое модули и как их создавать (return {})?
  32. Как загружать модули (require)?
  33. Как работает сборка мусора в Lua?
  34. Можно ли управлять GC вручную (collectgarbage)?
  35. Как обрабатывать ошибки (pcall, xpcall)?
  36. Что такое assert и как он используется?
  37. Как работают строки и конкатенация (..)?
  38. Как использовать шаблонные строки или форматирование (string.format)?
  39. Как работать с регулярными выражениями (шаблоны Lua)?
  40. Что такое корутины (coroutine.create, resume, yield)?
  41. Как реализовать кооперативную многозадачность?
  42. Как Lua взаимодействует с C (через C API)?
  43. Что такое стек Lua и как он используется в C API?
  44. Как зарегистрировать C-функцию в Lua?
  45. Какие есть менеджеры пакетов для Lua (LuaRocks)?
  46. Как использовать внешние библиотеки в Lua?
  47. Какие особенности синтаксиса есть в Luau (например, continue)?
  48. Как аннотировать типы в Luau (x: number, function f(x: string): boolean)?
  49. Как работает проверка типов во время выполнения в Luau?
  50. Какие инструменты разработки поддерживают Lua и Luau (Roblox Studio, ZeroBrane, EmmyLua)?

Освоение главы0%