【问题标题】:Lua dont allow table appendLua不允许表追加
【发布时间】:2013-07-09 22:29:58
【问题描述】:

我已经在全局变量下有一个 lua 表 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() 因为源表的层次是未知的。

【问题讨论】:

标签: lua lua-table


【解决方案1】:

这听起来像是您想要在这里做的,将表传递给创建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'

【讨论】:

  • 你也不需要分段做作业。您可以在 addTable 的正文中使用 tbl.D1 = { D2 = {'test'} }
猜你喜欢
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
  • 2012-09-30
  • 1970-01-01
  • 2013-04-23
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多