我無意中發現了一個怪異的行爲在Lua解壓功能Lua解壓縮錯誤?
table1 = {true, nil, true, false, nil, true, nil}
table2 = {true, false, nil, false, nil, true, nil}
a1,b1,c1,d1,e1,f1,g1 = unpack(table1)
print ("table1:",a1,b1,c1,d1,e1,f1,g1)
a2,b2,c2,d2,e2,f2,g2 = unpack(table2)
print ("table2:",a2,b2,c2,d2,e2,f2,g2)
輸出:
table1: true nil true false nil nil nil
table2: true false nil nil nil nil nil
第二解包提供參數到第一個零值。我可以忍受這一點。 第一張桌子提供4?參數中有一個是零。它有4個參數不是零,但它們不是顯示的參數。
任何人都可以解釋這一點嗎? 將其用codepad.org和LUA試圖5.1
謝謝,你救了我的一天。這是否意味着table.maxn()遍歷表的整個分配大小? – Geggamojja 2009-11-05 10:15:14
table.maxn()「返回給定表的最大正數值索引」see http://www.lua.org/manual/5.1/manual.html#pdf-table.maxn – gwell 2009-11-05 16:41:23
is table.maxn really really to在這裏返回正確的值(=表中的對象的數量)? – u0b34a0f6ae 2010-04-29 13:08:03