跳到主要内容

从序列化文本加载一个表 (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