将第二个二维数组表存储在索引中的潜在问题

时间:2014-10-31 09:50:47

标签: lua lua-table

过去我发现自己使用表作为索引和值 订单无关时的表格。 由于每个表都返回一个唯一值,因此将其另存为 索引,我已经获得了我想要的所有信息 稍后在程序中使用。现在我没有看到任何类似的lua代码 喷射并没有在非测试程序中使用它。所以我担心我 使用此方法时可能会遇到一些无法预料/意外的问题。

示例:

a = {1,2,3,4,5}                         --some testing values
b = {2,nil,4,nil,1}
c = {3,nil,nil,nil,2}
d = {4,nil,1,nil,3}
e = {5,1,2,3,4}

tab = {a,b,c,d,e}
t = {}

for i, v in pairs(tab) do
    t[v] = 0
end

for iv in pairs(t) do                   --is almost every time outputting it in a different order
    print(iv[1],iv[2],iv[3],iv[4],iv[5])        --could be a list of data where you have to go through all of it anyway
end

io.read()

现在我可以在t [v]中存储一些额外的信息,但如果我没有 可能有一些更小的lua型吗?

编辑:

这对弱表的使用是否顺利?

注意:

标准2d表:table [key1] = table

table [key1] [key2] < - 包含内容

此版本:table [table] =除了nil之外的任何内容< - 无法访问表[key1] [key2]

key1 [key2] < - 包含内容

1 个答案:

答案 0 :(得分:1)

将表用作另一个表中的键是可以的。

但是,请注意,不同的表将是不同的键,即使表具有相同的内容。