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