-2

我已经A={}, A.B={}在全局变量下有一个 lua 表。我有一个调用什么创建 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() 因为源表的层次结构是未知的。

4

1 回答 1

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'
于 2013-07-09T14:26:27.057 回答