繁体   English   中英

Lua:自动创建表格的方法吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM