Lua不允许表附加

时间:2013-07-09 14:22:20

标签: lua lua-table

我已经在全局变量下有一个lua-table A={}, A.B={}。我有一个关于创建lua table D1={}, D1.D2={}的函数的函数,但是问题是这个函数将表放在全局变量列表中。当我打印所有lua值时,它会打印: A={}, A.B={}, D1=={}, D1.D2={}。有没有办法可以在A={}, A.B={}下的表下创建函数,这意味着我希望输出为: A={}, A.B={}, A.B.D1=={}, A.B.D1.D2={}。我不想使用table.insert(),因为源表的层次不知道。

1 个答案:

答案 0 :(得分:2)

这听起来像你想要做的,是将表传递给创建D1D1.D2的函数,这样你就可以在任何你想要的地方附加这些值。

function addTable(tbl)
    tbl.D1 = {}
    tbl.D1.D2 = {'test'}
end

addTable(A.B)
-- now you can call A.B.D1.D2
print(A.B.D1.D2[1]) -- prints 'test'