Lua不允许对表进行追加。

我已经有一个全局变量下的 lua-table A={}, A.B={}。我有一个函数,在调用该函数时会创建 lua 表 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(),因为源表的层次结构不知道。

点赞
用户1208078
用户1208078

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

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

addTable(A.B)
-- 现在你可以调用 A.B.D1.D2
print(A.B.D1.D2[1]) -- 输出 'test'
2013-07-09 14:26:27