4

好的,所以我希望快速生成一个相当大的表。看起来像这样的东西:

table{
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
}

只有表会包含更多的行,以及这些行中的更多值。我知道使用 table.insert() 我可以轻松地将我需要的任意数量添加到单行中,但是无论如何我也可以添加全新的行而无需全部输入?

4

2 回答 2

4

使用for循环。

t = { }
for i = 1,100 do
    table.insert(t, i) -- insert numbers from 1 to 100 into t
end

二维数组也很简单

t = { }
for row = 1,20 do
    table.insert(t, { }) -- insert new row
    for column = 1,20 do
        table.insert(t[row], "your value here")
    end
end

你可以记住当前行local current_row = t[row],但是在你配置文件之前不要尝试这些东西来提高性能!如果您认为它更清楚地表达了目的,则仅将它们用于可读性。

还要注意(在 5.1 和更新版本中特别时髦#),您可以直接将值分配给不存在的索引,它们将被添加。

于 2013-02-26T09:25:31.250 回答
3

你不需要使用table.insert

t = {}
for row = 1,20 do
    t[row] = {}
    for column = 1,20 do
        t[row][column]= "your value here"
    end
end
于 2013-02-26T10:59:31.850 回答