在过去,我发现自己使用表作为索引,并且在订单不相关时使用表 的值。 由于每个表格都会返回一个唯一值,因此它们将被保存为 索引,并且由于我已经在程序中稍后使用了所有我想要的信息,因此我会在 之后使用。现在我没有看到任何类似的lua代码 jet,并没有在非测试程序中使用它。所以我很担心我使用这种方法时可能会遇到一些无法预料的/意想不到的问题。将二维数组的第二个表存储在索引中的潜在问题
例如:
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型是小?
编辑:
这是否适合使用弱表?
注:
标准的二维表:表[键1] =表
表[键1] [键2] < - 包含的东西
这个版本:表[表] =不能通过表格[key1] [key2]
key1 [key2] < - contains s凝灰岩
我不明白你最后一句话。 – lhf 2014-10-31 09:59:34
@lhf t [v]我正在初始化为0只是因为零将意味着表不存在。因此,使用尽可能小的内存量的值会节省相当多的内存,如果这样做会变得很大。 – CHlM3RA 2014-10-31 11:42:49
0尽可能少; “假”也是如此。 – lhf 2014-10-31 11:47:30