Lua 5.3

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.lua.org

Lua 5.3 — версия лёгкого встраиваемого скриптового языка программирования, разработанного с акцентом на простоту, расширяемость и эффективную интеграцию с приложениями на C. Эта версия ввела несколько важных изменений по сравнению с предыдущими релизами, включая добавление целочиского типа, улучшенную поддержку побитовых операций и расширенные возможности для работы с числами, сохранив при этом идиоматичную и компактную синтаксическую модель Lua. Язык традиционно используется в качестве языка конфигурации, сценариев расширения и быстрой прототипизации компонентов программного обеспечения.

Архитектура Lua 5.3 сочетает минимальное ядро с мощной механизмом метатаблиц и API для встраивания, что позволяет прикладным программам определять собственные типы и поведение операций. Среда выполнения ориентирована на эффективную работу на ограниченных ресурсах: компактен по объёму кода и предлагает простой байт-кодный интерпретатор и минимальные требования к библиотекам. В состав стандартной библиотеки входят модули для работы со строками, таблицами, корутин, ввода-вывода и базовых математических операций; дополнительно разработчики часто подключают отдельные модули для расширенной функциональности.

  • Типы данных: динамическая типизация с поддержкой чисел двойной точности и отдельного целочисленного подтипа, строк, булевых значений, таблиц, функций, потоков (корутин) и userdata.
  • Побитовые операции: встроенные операторы и библиотека для выполнения побитовых сдвигов, логических побитовых операций и побитовых масок, пригодные для низкоуровневой обработки данных.
  • UTF‑8 и строковые операции: базовые средства работы со строками в кодировке UTF‑8, включая функции для определения длины в кодовых точках и извлечения подстрок; при этом детальная поддержка Юникода оставлена внешним библиотекам при необходимости.
  • Стандартная библиотека: компактный набор модулей для работы со строками, таблицами, математикой, вводом‑выводом, операционной системой и отладкой, с возможностью расширения через C API.
  • API встраивания: хорошо документированный C API для вызова Lua из хост-приложения и наоборот, с механизмами управления стеком и автоматического преобразования типов между C и Lua.
  • Метатаблицы и метаметоды: гибкий механизм переопределения поведения таблиц и объектов, позволяющий реализовать операторы, индексацию, вызов как функции и другие пользовательские семантики.
  • Коррутины: легковесные потоки управления для кооперативной многозадачности, часто используемые для реализации сопрограмм, итераторов и асинхронных сценариев.
  • Производительность и размер: ориентирован на низкую память и быстрый запуск; интерпретатор и стандартная библиотека компактны, что делает Lua подходящим для встроенных систем и игровых движков.
  • Совместимость и миграция: в 5.3 сохранена преемственность с предыдущими версиями, однако добавление целочисленного типа и изменения в арифметике требуют внимательной проверки существующих скриптов при миграции.
  • Применение: конфигурация приложений, расширение функциональности программ через плагины, внутренняя логика игровых движков, быстрая прототипизация и автоматизация задач.
Подробнее