Skip to main content

datafile

Чтение и запись .lua-файлов. Формат читаемый и правится руками, поэтому подходит для того, что редактирует человек: список админов, набор префиксов, сток магазина. Им же ядро хранит data/users.lua. Запись атомарна. Новое содержимое пишется в .tmp, старый файл переезжает в .bak, и только потом .tmp встаёт на место. Вывод детерминированный: ключи сортируются, две записи одних и тех же данных дают побайтово одинаковый файл.

datafile.at

Привязывает модуль к своему каталогу.

Аргументы

Возвращает

Пример

Без at() функции работают в общем addons/lua/data/, где лежит users.lua ядра.

datafile.load

Читает таблицу из <dir>/<name>.lua.

Аргументы

Возвращает

Отсутствие файла — не ошибка: на свежем сервере данных ещё нет. Битый файл — ошибка, и она возвращается вторым значением.
Файл выполняется в пустом окружении: ни io, ни os, ни print. Всё, кроме возвращённой таблицы, — ошибка.

datafile.save

Пишет таблицу в <dir>/<name>.lua.

Аргументы

Возвращает

datafile.serialize

Превращает таблицу в текст, без записи.

Аргументы

Возвращает

datafile.dir

Каталог, к которому привязан модуль.

Возвращает