Свържете се с нас

Съдържание и теми, включени в курса

Въведение в 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 Часа

Брой участници


Цена за участник

Предстоящи Курсове

Свързани Kатегории