level 1
试下这样
foo={'v0'}
table.insert(foo,2,"v1")
table.insert(foo,2,"v2")
for key,var in pairs(foo) do
print(key,var)
end
因为table键的自增跟其长度有关,而取长度的符号是#。
《手册3.4.7 – 取长度操作符》 上说的:
表 t 的长度只在表是一个 序列 时有定义。 序列指表的正数键集等于 {1..n} , 其中 n 是一个非负整数。 在这种情况下,n 是表的长度。 注意这样的表 {10, 20, nil, 40}不是一个序列,因为它有键 4 却没有键 3。 (因此,该表的正整数键集不等于 {1..n} 集合,故而就不存在 n。) 注意,一张表是否是一个序列和它的非数字键无关。
2015年04月19日 04点04分