Lua#

Lua - это интерпретатор, выполняющий код, написанный на языке программирования Lua, без предварительной компиляции в машинный код.

Функциональные возможности интерпретатора:

  • Интерактивный режим: позволяет вводить команды и сразу получать результат их выполнения.

  • Поддержка основных конструкций языка: поддерживает переменные, типы данных, управляющие конструкции, функции первого класса, замыканий и рекурсии, таблицы.

  • Работа с файлами: позволяет читать и записывать файлы.

  • Взаимодействие с операционной системой: выполняет системные команды, управляет файловой системой, получает информацию о системе.

  • Работа с модулями: поддерживает модульность через функцию require, которая позволяет подключить внешние библиотеки и модули.

  • Обработка ошибок: обрабатывает ошибки с помощью конструкции pcall и xpcall.

  • Метатаблицы и метаметоды: настраивает поведение таблиц с помощью метатаблиц и метаметодов.

  • Сопрограммы: поддерживает сопрограммы, которые позволяют организовывать асинхронное выполнение кода.

  • Интеграция с C: интегрируется с языком C.

  • Легковесность и производительность: подходит для работы на устройствах с ограниченными ресурсами и отличается высокой скоростью.

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

  • Поддержка Unicode: поддерживает Unicode для работы с текстом.

  • Отладка: предоставляет базовые возможности отладки.

Установка

Интерпретатор Lua устанавливается с помощью команды dnf install. Подробнее о dnf - в разделе «Утилита dnf».

Использование интерпретатора#

Для работы с интерпретатором используйте команду:

lua <options> <script> <args>

Где:

  • <options> - опции, подробнее смотрите в таблице «Опции Lua» раздела «Опции»;

  • <script> - файл, содержащий код на Lua;

  • <args> - аргументы.

Опции#

Опции интерпретатора приведены в таблице ниже.

Опции Lua#

Опция

Описание

-e stat

Выполнить код Lua из командной строки

-l modname

Загрузить модуль modname без вызова функции init

-i

Включить интерактивный режим после выполнения скрипта или других команд

-v

Показать версию Lua и продолжить выполнение команды

-E

Интегрировать переменные окружения Lua

-

Считать код Lua из стандартного ввода

--

Передать скрипту аргументы после -- без обработки интерпретатором

Переменные окружения#

Переменные окружения интерпретатора приведены в таблице ниже.

Переменные окружения Lua#

Переменная

Описание

LUA_PATH, LUA_PATH_5_4

Определить путь для поиска модулей Lua

LUA_CPATH, LUA_CPATH_5_4

Определить путь для поиска библиотек

LUA_INIT, LUA_INIT_5_4

Выполнить код Lua при запуске интерпретатора

Примеры использования#

  • Для запуска интерпретатора через файл с расширением .lua необходимо:

    • Поместить исходный код в тестовый файл с расширением .lua:

      print("test")
      
    • Запустить программу:

      lua test.lua
      

      Вывод команды:

      test
      
  • Для запуска Lua в интерактивном режиме используйте команду:

    lua
    

    Далее можно ввести любую команду Lua, например:

    print(10+10)
    

    Вывод команды:

    20
    

Дополнительная информация#

Дополнительную информацию можно получить, выполнив команду:

man lua