【问题标题】:Retrieve X, Y coords from nested Lua table从嵌套 Lua 表中检索 X、Y 坐标
【发布时间】:2016-06-02 15:00:12
【问题描述】:

我需要从 Lua 中的嵌套表中获取值,我只是不知道该怎么做,我尝试了许多在线示例,但都没有。

任何帮助将不胜感激

表格

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

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

我试过了

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

但我得到的只是零

【问题讨论】:

    标签: lua


    【解决方案1】:

    由于pairs 给你key, value 对,value 部分是具有xy 值的表;现在你可以简单地做:

    print(v.x, v.y)
    

    使用 v[1]v[2] 检索该表的第一个和第二个元素,但这些不是 xy 元素,所以这就是为什么你在你的案例。

    一般情况下,嵌套表的访问方式相同:t.index1.index2等。如果索引是数字,则需要使用t[1][2]表示法,意思是:获取检索到的表的第二个元素作为第一个元素表格元素t

    【讨论】:

      【解决方案2】:

      您没有使用数组,因此解包和数字索引都不会帮助您。相反,您可以使用语法糖:

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

      如果你想遍历它们:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-08
        • 1970-01-01
        • 1970-01-01
        • 2017-10-11
        • 2022-11-13
        相关资源
        最近更新 更多