Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
Съдържание и теми, включени в курса
Въведение в Lua
- Малко история
- Цели, характеристики и не-цели на Lua
- Ресурси за документация и уроци на Lua
- Инсталиране на интерпретатора на Lua
- Настройка и използване на LuaRocks
Основен синтаксис и семантика
- Идентификатори
- Коментари, блокови коментари
- Глобални променливи и налагане на строгост
- Локални променливи
- Самостоятелни програми, аргументи на програмата
- Единици за компилация, части, изрази, точка и запетая
Типове данни и структури от данни
- Основни типове: nil, boolean, number, string
- Обектни типове: function, userdata, thread, table
- Референции/обекти спрямо основни стойности
- Значението на таблиците в Lua
Въведение в таблиците и тяхната гъвкавост
- Таблици като асоциативен масив
- Таблици като числови масиви, последователности
Основни контролни структури
- if then elseif else end
- Цикъл while
- Цикъл repeat
- Опростен цикъл for
Обработка на грешки
- Върнати стойности спрямо изключения
- Преобразуване на върната стойност в изключение
- Преобразуване на изключение във върната стойност
- Нива на грешки
Примерни програми
- Изчисляване на полином
- Търсене в ширина
- Допълнителни упражнения
Повече за функциите
- Именувани аргументи
- Обектно-ориентирани извиквания
- Затваряния (closures)
- Кариране (currying)
- Опашкови извиквания
- Множествено присвояване и връщане
- Varargs
Итератори и корутини
- Общият цикъл for
- Итератори без състояние спрямо итератори със състояние
- Разлики между итератори и корутини
Метатаблици и метаметоди
- Примерът с множество
- Метаметодът __tostring
- Аритметични метаметоди
- Метаметодите __index, __newindex
- Метаметодът __len
Модули и пакети
- Използване на модули
- Създаване на модули
- Организиране на модули в пакети
Обектно-ориентирано програмиране
- Градивните елементи на ООП в Lua
- Примери
Дискусия за по-напреднали характеристики на езика
- Слаби таблици
- Финализатори
- Компилация, eval, зареждане
Изисквания
Познаване на поне един друг програмен език. Опит в програмирането. По желание, ако сте запознати с други скриптови езици, това ще улесни разбирането на Lua.
14 Часа