Lua在嵌套表中访问表值

时间:2017-10-31 07:22:16

标签: lua nested lua-table

我试图在由嵌套表格构成的网格上测试某些变量。但无论我尝试什么,它都不会给我存储在变量中的值只有数据类型或零值

y = {}
for _y = 0,16 do
    for _x = 0,16 do
        x = {}
        x.x = _x
        x.y = _y
        x.v = flr(rnd(2))

        if x.x < 1 or x.x > 14 then
            x.v = 3
        end


        if x.v == 0 then
            x.v = "."
        elseif x.v ==1 then
            x.v = ","
        else
            x.v = "0"
        end
        add(y,x)
    end
end

我尝试使用

访问该值
print(t[1][3])

但这只会打印一个零值,我如何编码以显示存储在这两个表中的值中的内容?

2 个答案:

答案 0 :(得分:2)

您的嵌套方式如下:

y = {x_1, x_2, x_3, ...}

其中,x_i的每个格式为:

x = {
  x = p,
  y = q,
  v = r
}

因此,您将每个x元素的索引编辑为y[i],每个y[i]包含3个属性:

print(y[1].x)

会给你x_1.x

答案 1 :(得分:0)

您想要创建一个二维表,但只创建一维表。

修复代码看起来有点像这样

y = {}
for _y=1,16 do
    y[_y] = {}
    for _x=1,16 do
        y[_y][_x]= "your data"
    end
end