如何阅读嵌套表

我是lua的新手,想学习关于嵌套表的知识

这是我一直在尝试的:

t = {};
t[1] = 22, {1, 22, 3};
t[2] = 44, {4, 5, 6};
t[3] = 66, {4, 5, 6};

for k, v in ipairs(t) do
print(k,v)
end

对我没用。 这是我想要的结果: 示例:

    1 2 5
   2 5 66
   3 6 33
    4 2 1
    5 4 12
   6 4 3
    7 2 44
    8 3 1
    9 2 44
   10 3 99

如何阅读这样的嵌套表?
如何在正确的列中添加插入表?
点赞
用户788195
用户788195

我认为误解在于这段代码:

`t[1] = 22, {1, 22, 3}`

第二个值,也就是逗号后面的值,即 `{1, 22, 3}`,实际上没有被赋值给任何对象,它被遗漏在了空气中。

也许你的本意是想要一个表中嵌套着表:

`t[1] = {22, {1, 22, 3}}`

这会在 `t` 的 [1] 处创建一个元素,这个元素本身也是一个表:

` t[1][1] == 22 t[1][2] == {1, 22, 3} `

然后你可以用以下方法遍历这个设置:

` local t = {} t[1] = {22, {1, 22, 3}} t[2] = {44, {4, 5, 6}} t[3] = {66, {4, 5, 6}} for _, entry in ipairs(t) do local key = entry[1] io.write(key .. ' ') for _, value in ipairs(entry[2]) do io.write(value .. ' ') end io.write('\n') end `

但说实话,我不是很明白你在问什么,因为你的“期望输出”与数据样本显著不同。

2016-11-30 23:57:44
用户7228869
用户7228869

回复 Qualmos 在 payo 的回答中的评论:

local t = {}
t[1] = {22,3}
t[2] = {44,6}
t[3] = {66,63}

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

打印出类似这样的东西:

1,22,3
2,44,6
3,66,63

顺带一提,你也可以把这个表格写成这样:

local t = {
    {22,3};
    {44,6};
    {66,63};
}
2016-12-02 02:50:33