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