我已经解析了一个字符串的多维表(工作正常)。 稍后在运行时,我可能需要解析它(它包含配置)。
有没有什么方法可以将字符串解析为多维表?
实施例
table_xy = {}
table_xy.a = { a= {}, b = 12, c = "sdf" , d = true , e = {}}
table_xy.b = { false,true,true,false}
table_xy.a.a = {lolbert, roflcopter}
table_xy.a.e = {4, table_xy.a.e}
print(string_from_table_xy)(解析后)输出:
{a={a={},c="sdf",b=12,e={4,{}},d=true},b={false,true,true,false}}
最高的depht离mothertable有7个桌面,但这可能会在以后发生变化。
答案 0 :(得分:4)
您可以加载字符串,然后将其作为以下函数运行:
local func = assert(load("return " .. string_from_table_xy))
local t = func()
在Lua 5.1中,使用loadstring
代替load
。
答案 1 :(得分:1)
loadstring(string_from_table)
效果很好。当然,它很慢,但我不认为人们可以在保持这条单线的舒适性的同时以更好的性能做到这一点。