1. Введение

Lua является дополняющим языком программирования, разработанным для поддержки обычного процедурного программирования со средствами описания данных. Lua также оказывает хорошую поддержку объектно-ориентированному программированию, функциональному программированию и программированию, управляемому данными. Lua предназначен для использования в качестве мощного, легковесного, встраиваемого скриптового языка для любых программ, где он требуется. Lua реализован как библиотека, написанная на чистом C, общего подмножества Standard C и C++.

Как дополнительный язык, Lua не имеет понятия “основная” программа: он работает только встроенным в хост-клиент, называемым также встроенной программой или просто хост. Хост-программа может вызывать функции для выполнения части кода в Lua, может записывать и считывать Lua переменные и может регистрировать функции. C для вызова их в Lua коде. Благодаря использованию функций C, Lua может быть дополнена для охвата широкого диапазона различных областей, таким образом создавая настраиваемые языки программирования, разделяющие синтаксические рамки. В дистрибутив Lua включен шаблон хост-программы по имени lua, который использует библиотеку Lua предоставляя полную версию и автономный интерпретатор Lua, для интерактивного (диалогового) или пакетного использования.

Lua является свободным программным обеспечением и предоставляется как обычно без каких-либо гарантий, как указано в его лицензии. Реализация описанная в данном руководстве доступна на официальном веб-сайте Lua, www.lua.org.

Как и у любого другого справочника, стиль изложения данного документа местами суховат. Для обсуждения решений разработки Lua смотрите технические документы доступные на веб-сайте Lua. Для более детального знакомства с программированием на Lua смотрите книгу Роберто Иерусалимского (Roberto Ierusalimschy) Programming in Lua.