对于表名中的循环整数

时间:2018-02-10 20:15:21

标签: lua insert lua-table

我试图在最后插入带有for循环整数的表,怎么可能在lua上?

我尝试这样做

local table1 = {}
local table2 = {}
local table3 = {}

for i = 1, 3, 1 do
   table.insert("table" .. i, 1, "ok")
end

3 个答案:

答案 0 :(得分:0)

将表格放入另一张表格。

local tables = {{}, {}, {}}

for i = 1, 3, 1 do
  table.insert(tables[i], 1, "ok")
end

答案 1 :(得分:0)

你的方法是通过索引获得一个表。所以你可以构建一个像(作为你的_G [“table”... i])的表:

local t = {
    ["table" .. 1] = {};    
    ["table" .. 2] = {};
    -- ...
}

如果不构造本地表,则必须获取本地表名。您可以尝试使用_ENV(5.3)或getenvf(5.1)来获取它,但我想这可能不是一个好主意。

答案 2 :(得分:0)

您可以使用调试库来浏览函数中的本地人,但我无法推荐。

否则,除非您制作一个本地人名单,否则没有本地人名单:

local table1 = {}
local table2 = {}
local table3 = {}

local tables = { table1 = table1, table2 = table2, table3 = table3 }

for i = 1, 3, 1 do
   table.insert(tables["table" .. i], 1, "ok")
end