1
在Lua是看來,如果一個數字鍵從表丟失,長度仍繼續計數: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應該工作。這是爲什麼?任何對此文檔的引用都會很有趣。
謝謝。我明白'#'確實只適用於順序表,而這可能是lua對此行爲的藉口,在非順序表中它如何處理這個'#'似乎很奇怪。 – DoubleMx2 2013-04-20 12:35:10