Загрузка таблицы из сериализованного текста (table.load_string)
Объявление
таблица = table.load_string(текст_таблицы)
Параметры
- текст таблицы
Текст сериализованной древовидной структуры таблицы; может содержать только статические данные и не должен содержать динамический код.
Возвращаемое значение
- таблица
Таблица или nil; при успехе возвращается структура таблицы, при ошибке — nil.
Описание
Преобразует текстовое описание древовидной структуры в объект-таблицу.
В определённой степени table.load_string можно считать обратной функцией table.deep_dump; фактическая применимость зависит от наличия циклических ссылок или ссылочных типов, не являющихся таблицами.
В отличие от load, эта функция не выполняет код из текста, а читает только статические данные.
Пример ниже содержит исполняемый код; после выполненияbравно nil (код не выполняется).
b = table.load_string[[ {
a = os.execute('reboot'), -- Этот код не выполняется и возвращается nil.
} ]]
Пример
local t = table.load_string[[ {
a = 1,
b = 2,
c = 3,
} ]]
sys.alert(t.b)
Примечание: в приведённом коде используется функция из другой главы — sys.alert.