Учебник по Lua

lua

Lua — это лёгкий, компактный скриптовый язык, написанный на стандартном C и с открытым исходным кодом. Его цель — быть встраиваемым в приложения, предоставляя приложениям гибкие возможности расширения и настройки.

Lua была разработана в 1993 году исследовательской группой в Папском католическом университете Рио-де-Жанейро в Бразилии. В состав группы входят: Roberto Ierusalimschy, Waldemar Celes и Luiz Henrique de Figueiredo.


Цель проектирования

Её назначение при проектировании — быть встраиваемой в приложения, предоставляя приложениям гибкие возможности расширения и настройки.


Возможности Lua

  • Лёгкая: Она написана на стандартном C и имеет открытый исходный код. После компиляции её размер составляет всего около 100K, что делает её очень простой для встраивания в другие программы.
  • Расширяемая: Lua предоставляет очень удобные интерфейсы и механизмы расширения: эти возможности предоставляются принимающим языком (обычно C или C++), и Lua может использовать их так, как если бы они были встроенными.
  • Другие функции:
    • Поддерживает процедурно-ориентированное и функциональное программирование;
    • Автоматическое управление памятью; предоставляет только один универсальный тип table, который можно использовать для реализации массивов, хеш-таблиц, множеств и объектов;
    • Встроенное сопоставление с образцом в языке; замыкания; функции также можно рассматривать как значения; поддерживает многопоточность (корутины, а не потоки, поддерживаемые операционной системой);
    • С помощью замыканий и таблиц можно легко реализовать ключевые механизмы, необходимые для объектно-ориентированного программирования, такие как абстракция данных, виртуальные функции, наследование и перегрузка.

Сценарии применения Lua

  • Разработка игр
  • Скрипты автономных приложений
  • Скрипты веб-приложений
  • Расширения и плагины баз данных, например: MySQL Proxy и MySQL WorkBench
  • Системы безопасности, такие как системы обнаружения вторжений

Первая программа на Lua

Расширение файлов кода Lua —.lua。

Далее мы используем Lua для вывода "Hello World!"

Пример (Lua 5.3)

print("Hello World!")

После запуска на экране отобразится Hello, world!

Другие расширения