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.