0

我正在尝试将数据库数据类别的数据值加载到表中以进行进一步处理。每个数据类别都应该有自己的表。不幸的是,数据类别的数量并不一致,并且因数据库而异,因此我考虑根据当前数据类别的数量自动创建表:

--categories is a table containing the names of all data categories
for a = 1, #categories, 1 do 
temptable..a = {}; 
end

这当然是行不通的,因为 Lua 试图将表分配给变量而不是它的值。以这种方式也无法进行变量连接。有没有办法让 Lua 自动创建表?

4

1 回答 1

5

记住在 Lua 中表可以包含表,所以为什么不简单地这样做

例如

cat = {'cat1','cat2','cat3'}

temptable = {}
for i,v in pairs(cat) do
temptable[v] = {1+ i,2 + i,3 + i}
end

会给你一张包含 temptable 的桌子

[cat2] => table
    (
       [1] => 3
       [2] => 4
       [3] => 5
    )
[cat1] => table
    (
       [1] => 2
       [2] => 3
       [3] => 4
    )
[cat3] => table
    (
       [1] => 4
       [2] => 5
       [3] => 6
    )

可以使用

for i,v in pairs(temptable.cat1) do
print(i,v)
end
于 2012-05-31T07:31:57.760 回答