表中的 Lua 表

Posted

技术标签:

【中文标题】表中的 Lua 表【英文标题】:Lua tables within tables 【发布时间】:2015-04-30 21:12:48 【问题描述】:
local coordTable = 
    loc=1447, -2287, 13, 0, 0, 3, 100, -2000, 13, colour=255, 255, 255,

嗨,

我正在尝试从 loc 中获取每个值。所以,对于 loc 中的每个表,我想要里面的三个数字的值。我不确定我的解释是否正确。

有点像this issue,但稍微复杂一些。我可以使用上面链接的问题中的相同方法获取 loc 中的第一个表,但不能获取其他表。

任何帮助将不胜感激。谢谢。

【问题讨论】:

您在哪方面需要帮助? coordTable是一个坐标数组,每个坐标的loc是一个长度为3的数组。 我基本上需要从loc中的每个表中获取3个数字。 【参考方案1】:

也许这有助于您了解如何遍历数据:

for k,v in ipairs(coordTable[1].loc) do
    for i,w in ipairs(v) do
        print(k,i,w)
    end
end

或者,如果每个子表中总是有三个数字:

for k,v in ipairs(coordTable[1].loc) do
    print(v[1],v[2],v[3])
end

要直接获取第二个子表中的三个数字,请使用

print(coordTable[1].loc[2][1],coordTable[1].loc[2][2],coordTable[1].loc[2][3])

【讨论】:

"111447 12-2287 1313 210 220 233 31100 32-2000 3313 111447 12-2287 1313 210 220 233 31100 32-2000 3313。" > @user3549165,奇怪怎么办?无论如何,也许我编辑的答案现在更清楚了。

以上是关于表中的 Lua 表的主要内容,如果未能解决你的问题,请参考以下文章

lua:检索表中的键列表

将变量与 Lua 表中的所有变量进行比较?

如何在 Lua 中获取哈希表中的键数?

如何获取 Lua 表中的条目数?

Lua - C++ 集成:从 C++ 调用表中的函数

如何从Lua中的表中获取值?