从嵌套的Lua表中检索X,Y坐标

时间:2016-02-21 04:38:48

标签: lua

我需要从Lua中的嵌套表中获取值,我只是无法弄清楚如何做到这一点,我尝试了很多在线示例但没有工作。

任何帮助将不胜感激

xy = { a={x=0,y=0},b={x=0,y=100}, c={x=0,y=200}}

如果解包(路由)包含a和c,我如何从上表中获取x,y值。

我试过了

for _, v in pairs(xy) do
  print(v[1], v[2])
end

但我回来的只是零

2 个答案:

答案 0 :(得分:5)

由于It's Yours!为您提供pairs对,key, value部分是包含valuex值的表格;现在你可以做到:

y

使用print(v.x, v.y) v[1]检索该表的第一个和第二个元素,但这些不是 v[2]x元素,因此& #39;为什么你得到y

通常,嵌套表的访问方式相同:nil等。如果索引是数字,则需要使用t.index1.index2表示法,这意味着:获取表的第二个元素检索为表t[1][2]的第一个元素。

答案 1 :(得分:3)

您没有使用数组,因此解压缩或数字索引都不会对您有所帮助。相反,你可以使用语法糖:

print(xy.a.x, xy.a.y)

如果你想遍历它们:

for i,v in pairs(xy) do
    print(i..": "v.x, v.y)
end