在Lua中似乎如果表中缺少单个数字键,则长度仍在继续计算:
> print(#{[1]=1,[2]=2,[4]=4})
4
但跳过两个指数会在休息时停止
> print(#{[1]=1,[2]=2,[5]=5})
2
这不仅仅是非常规的构造函数。即使在创建表之后创建了跳过的索引,它仍然会超过它,只要中断只有一个。
> x={1,2}
> print(#x)
2
> x[4]=4
> print(#x)
这是一个实现错误还是这个Lua应该如何工作。为什么会这样?任何对此文档的引用都会很有趣。