[英]Lua: Way to create tables automatically?
我正在尝试将数据库的数据类别的数据值加载到表中以进行进一步处理。 每个数据类别都应该有自己的表。 不幸的是,数据类别的数量不一致,并且因数据库而异,所以我考虑根据当前数据类别的数量自动创建表:
--categories is a table containing the names of all data categories
for a = 1, #categories, 1 do
temptable..a = {};
end
这当然是行不通的,因为Lua尝试将表分配给变量而不是其值。 这样也无法进行变量串联。 有没有办法让Lua自动创建表?
记住在Lua中表可以包含表,所以为什么不那样做呢?
例如
cat = {'cat1','cat2','cat3'}
temptable = {}
for i,v in pairs(cat) do
temptable[v] = {1+ i,2 + i,3 + i}
end
会给你一张包含模板的表
[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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.