Курс на Stepik
Обложка курса «Введение в язык Lua 5.5» на Stepik
999 ₽

Введение в язык Lua 5.5 ★ 0.000

Открыть на
STEPIK.ORG

Курс о Lua 5.5 для разработчиков, которые уже пишут на другом языке. Он не учит программировать, а объясняет, чем модель Lua отличается от привычной: одна структура данных вместо коллекций, метатаблицы вместо классов, корутины вместо потоков, окружение как обычная переменная. Через весь курс идёт один рабочий инструмент, который собирается с первой главы до последней.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Введение в язык Lua 5.5»Учеников на курсе 0
Сертификаты, выданные на курсе «Введение в язык Lua 5.5»Сертификатов выдано 0
Отзывы о курсе «Введение в язык Lua 5.5»Отзывов получено 0
Рейтинг курса «Введение в язык Lua 5.5»Рейтинг курса 0.000
Уроки в курсе «Введение в язык Lua 5.5»Количество уроков 108
Тесты в курсе «Введение в язык Lua 5.5»Количество квизов 60
Стоимость курса «Введение в язык Lua 5.5»Стоимость курса 999 ₽ —
Обновления курса «Введение в язык Lua 5.5»Обновления курса — —
Дата публикации курса «Введение в язык Lua 5.5»Дата публикации курса — ———
Последнее обновление курса «Введение в язык Lua 5.5»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Введение в язык Lua 5.5» 12 разделов Уроки в курсе «Введение в язык Lua 5.5» 108 уроков Тесты в курсе «Введение в язык Lua 5.5» 60 тестов Последнее обновление курса «Введение в язык Lua 5.5» обн. 1 ноября 2026

Lua 5.5: язык, рантайм и место в системе

9 уроков
1. Что мы строим: sift ↗
2. Модель исполнения: значения, состояние, один поток ↗
3. Установка Lua 5.5.1 и сборка из исходников ↗
4. Чанк: единица компиляции и загрузки ↗
5. Интерпретатор: аргументы, стандартные потоки, коды возврата ↗
6. Объявления global: главное изменение 5.5 ↗
7. Локальность как инструмент: производительность и читаемость ↗
8. Инструментарий: стиль, статический анализ, сборка ↗
9. Практика — каркас sift и команда version ↗

Значения, типы и выражения

9 уроков
1. Восемь типов и семантика значений ↗
2. Числа: два подтипа, одна арифметика ↗
3. Строки: неизменяемость, байты, интернирование ↗
4. nil, false и истинность ↗
5. Сравнение, приведение и порядок ↗
6. Битовые операции ↗
7. Локальные переменные и атрибуты const и close ↗
8. Управляющие конструкции ↗
9. Практика — типизированный разбор полей события ↗

Функции, множественные значения, замыкания

9 уроков
1. Функция как значение ↗
2. Множественные возвращаемые значения ↗
3. Вариадические функции и именованный ...args ↗
4. Замыкания и upvalue ↗
5. Хвостовые вызовы ↗
6. Функции высшего порядка ↗
7. Рекурсия, мемоизация и локальные объявления ↗
8. Идиомы сигнатур ↗
9. Практика — конвейер преобразований событий ↗

Таблицы: единственная структура данных

9 уроков
1. Устройство таблицы: массивная и хеш-часть ↗
2. Последовательности, # и дыры ↗
3. Обход таблицы: pairs, ipairs, next ↗
4. Стандартная библиотека table ↗
5. Итераторы ↗
6. Таблицы как множества, мультимапы и очереди ↗
7. Вложенные структуры и работа с ними ↗
8. Память и производительность таблиц ↗
9. Практика — агрегаты sift ↗

Метатаблицы и объектная модель

9 уроков
1. Метатаблица как механизм ↗
2. __index и __newindex ↗
3. Арифметика, сравнение и конкатенация ↗
4. __call, __tostring, __len, __close, __gc ↗
5. Классы на таблицах ↗
6. Наследование и композиция ↗
7. Инкапсуляция и приватность ↗
8. Практические паттерны на метатаблицах ↗
9. Практика — типизированные записи и гистограмма ↗

Модули, окружения и организация кода

9 уроков
1. require и package ↗
2. Анатомия модуля ↗
3. Загрузчики и package.searchers ↗
4. _ENV: окружение как переменная ↗
5. Песочницы ↗
6. Дисциплина глобалов в 5.5 ↗
7. Конфигурация как код на Lua ↗
8. Раскладка проекта и зависимости ↗
9. Практика — плагины и песочница конфигурации ↗

Строки, паттерны и бинарные данные

9 уроков
1. Библиотека string и метатаблица строк ↗
2. Паттерны Lua: не регулярные выражения ↗
3. find, match, gmatch, gsub ↗
4. Захваты и специальные конструкции ↗
5. string.format и безопасный вывод ↗
6. Эффективная сборка строк ↗
7. Бинарные данные: string.pack и string.unpack ↗
8. UTF-8 ↗
9. Практика — разбор NDJSON ↗

Ошибки, ресурсы и надёжность

9 уроков
1. Модель ошибок ↗
2. pcall и xpcall ↗
3. Ошибки как значения: проектирование ↗
4. Трассировки и диагностика ↗
5. assert и контракты ↗
6. Ресурсы и to-be-closed переменные ↗
7. Ошибки в неожиданных местах ↗
8. Диагностика: warn и логирование ↗
9. Практика — устойчивый читатель логов ↗

Корутины и асинхронные конвейеры

9 уроков
1. Что такое корутина ↗
2. API корутин ↗
3. Генераторы и итераторы ↗
4. Конвейеры producer/consumer ↗
5. Кооперативный планировщик ↗
6. Значения и ошибки через границу корутины ↗
7. Корутины и ресурсы ↗
8. Пределы — yield через границу C ↗
9. Практика — потоковый источник sift ↗

Память, сборка мусора и производительность

9 уроков
1. Модель памяти ↗
2. Сборщик мусора: режимы и параметры ↗
3. Финализаторы __gc ↗
4. Слабые таблицы ↗
5. Что в Lua действительно стоит дорого ↗
6. Измерение ↗
7. Оптимизация горячего пути ↗
8. Альтернативные реализации и их границы ↗
9. Практика — профилирование и ускорение агрегации ↗

Тестирование, отладка и инструментальность

9 уроков
1. Тесты без фреймворка ↗
2. Утверждения ↗
3. Организация тестов ↗
4. Подмена зависимостей ↗
5. Свойства и генерация данных ↗
6. Библиотека debug ↗
7. Отладка и трассировка ↗
8. Покрытие кода ↗
9. Практика — тестовый набор sift ↗

Встраивание, C API и поставка

9 уроков
1. Зачем встраивают Lua ↗
2. Стек Lua и базовые операции ↗
3. Первый C-модуль ↗
4. Передача данных через границу ↗
5. Ошибки через границу C и Lua ↗
6. Встраивание Lua в приложение ↗
7. LuaRocks и rockspec ↗
8. Поставка инструмента ↗
9. Практика — сборка и релиз sift ↗