| Раздел: 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.
Обратите внимание
- В ИСУБД «CronosPRO» в библиотеку включён ряд дополнительных функций. Подробное описание этих функций содержится в «Справочнике по расширениям языка Lua для CronosPRO», входящем в стандартную поставку системы.
