我已经在全局变量下有一个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(),因为源表的层次不知道。
答案 0 :(得分:2)
这听起来像你想要做的,是将表传递给创建D1
和D1.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'