Lua 访问嵌套表中的值

我正在尝试测试由嵌套表制成的网格上的某些变量。 但是无论我尝试什么,它都不会给我存储在变量内的值,仅会给出数据类型或 nil 值

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])

但这只会打印回 nil 值,我应该如何编写此代码以显示存储在这两个表中值内的值?

点赞
用户1190388
用户1190388

您的嵌套如下所示:

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

2017-10-31 07:39:43
用户4984564
用户4984564

你想要创建一个二维表格,但是只创建了一个一维的。

请修改你的代码使其类似于这样:

y = {}
for _y=1,16 do
    y[_y] = {}
    for _x=1,16 do
        y[_y][_x]= "你的数据"
    end
end
2017-11-01 13:37:51