English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Туториал по Lua

Lua - это开源语言, основанный на языке C. Lua имеет свою ценность на множестве платформ, от больших серверных систем до малых мобильных приложений. Этот учебник охватывает различные темы, от основ Lua до его использования в различных приложениях.

Lua - это легкий и компактный скриптовый язык, написанный на стандартном языке C и открытый в виде исходного кода, его目的是 для интеграции в приложения, чтобы предоставлять им гибкое расширение и возможность настройки.

Lua был разработан в 1993 году исследовательской группой в Папской католической университете Рио-де-Жанейро (Pontifical Catholic University of Rio de Janeiro), в состав которой входили: Roberto Ierusalimschy, Waldemar Celes и Luiz Henrique de Figueiredo.

Цель дизайна

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

Характеристики Lua

  • Легковесность: Он написан на стандартном языке C и открыт в виде исходного кода, после компиляции составляет всего несколько сотен КБ, что позволяет легко встраиваться в другие программы.

  • Экстенсивность: Lua предоставляет очень удобные интерфейсы и механизмы расширения: функции предоставляются родным языком (обычно C или C++), Lua может использовать их, как если бы они были встроены по умолчанию.

  • Другие характеристики:

    • Поддержка объектно-ориентированного (procedure-oriented) и функционального программирования (functional programming);

    • Автоматическое управление памятью; предоставляется только один тип таблицы (table), с помощью которой можно реализовать массивы, хэш-таблицы, множества, объекты;

    • Встроенные шаблоны языка; closures; функции также можно рассматривать как значения; поддержка многоядерных (синхронизация корoutines, не поддерживаемых операционной системой) потоков

    • Через closures и table можно легко поддерживать некоторые ключевые механизмы объектно-ориентированного программирования, такие как абстракция данных, виртуальные функции, наследование и перегрузка и т.д.

Сценарии использования Lua

  • Разработка игр

  • Скрипты независимых приложений

  • Скрипты веб-приложений

  • Дополнения и плагины для базы данных, такие как MySQL Proxy и MySQL WorkBench

  • Системы безопасности, такие как системы обнаружения вторжения

Объектно-ориентированное программирование

В Lua можно легко поддерживать некоторые ключевые механизмы объектно-ориентированного программирования, такие как абстракция данных, наследование и перегрузка и т.д., через create a module и table.

Первый Lua-программа

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

Пример (Lua 5.3)

print("Hello World!")
Проверьте ‹/›
После выполнения, Hello, world! будет отображаться на экране.