Раздел: CronosPRO Дата редакции: 12.07.2013 id статьи: 1551

Базовая библиотека стандартных функций Lua

Функции базовой библиотеки Lua

Функции базовой библиотеки Lua размещаются в глобальном контексте.
В базовую библиотеку входят следующие функции:
Имя функции Описание
assert Генерирует ошибку с необязательным сообщением об ошибке, если значение первого аргумента false или nil.
collectgarbage Обеспечивает интерфейс к сборщику мусора. Первый аргумент определяет выполняемое действие (остановка, запуск сборщика мусора, выполнение сборки мусора и др.).
error Завершает выполнение последней функции, вызванной в защищённом режиме, с заданным сообщением об ошибке.
getfenv Возвращает таблицу контекста заданной функции. Аргумент, определяющий функцию, может быть как, собственно, Lua-функцией, так и числом, определяющим уровень стека, на котором расположена функция. Если он равен 0, возвращается глобальный контекст.
getmetatable Если объект не имеет метатаблицы, возвращает nil. Иначе, если в метатаблице есть поле __metatable, возвращает значение этого поля. В противном случае возвращает метатаблицу объекта.
ipairs Возвращает итератор, таблицу и 0. Возвращаемый итератор проходит таблицу по целочисленным индексам от значения 1 до первого индекса со значением nil. Итератор возвращает текущий индекс и соответствующее ему значение.
next Возвращает следующий (после заданного) индекс в таблице и соответствующее ему значение. Позволяет последовательно получить все поля таблицы.
pairs Возвращает итератор next(), таблицу и nil. Возвращаемый итератор проходит таблицу по всем значениям индекса. Итератор возвращает текущий индекс и соответствующее ему значение.
pcall Вызывает заданную функцию с аргументами в защищённом режиме. Возвращает статус успешности выполнения.
rawequal Сравнивает два объекта, без вызова каких-либо метаметодов. Возвращает значение типа boolean.
rawget Возвращает реальное значение с заданным индексом из таблицы, без вызова каких-либо метаметодов.
rawset Помещает значение в поле таблицы с заданным индексом, без вызова каких-либо метаметодов.
select Если первый аргумент функции имеет числовое значение, возвращаются все аргументы, следующие за аргументом с этим номером. Если первый аргумент — строка ’#’, возвращается общее число полученных аргументов.
setfenv Устанавливает таблицу в качестве контекста для заданной функции. Аргумент, задающий функцию, может быть числом, определяющим положение функции на стеке вызовов. Если он равен 0, устанавливается глобальный контекст текущего потока.
setmetatable Устанавливает (удаляет) метатаблицу для данной таблицы. Если метатаблица содержит поле __metatable, генерирует ошибку.
tonumber Пытается конвертировать аргумент в число. Если конвертирование не удаётся, возвращает nil.
tostring Преобразует аргумент любого типа в строку.
type Возвращает тип аргумента в виде строки.
unpack Возвращает элементы из заданной таблицы.
xpcall Вызывает заданную функцию в защищённом режиме. В отличие от pcall, позволяет установить обработчик ошибок. Не поддерживает передачу аргументов в функцию.

Глобальные переменные

Помимо функций, базовая библиотека предоставляет также следующие глобальные переменные:
Имя переменной Описание
_G Таблица, содержащая глобальное окружение скрипта.
_M Таблица, содержащая текущий модуль.

Изменения базовой библиотеки в ИСУБД «CronosPRO»

В ИСУБД «CronosPRO» отключены следующие функции базовой библиотеки:
  • dofile;
  • load;
  • loadfile;
  • print.

Обратите внимание