Lua unpack 関数で奇妙な動作に遭遇しました
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
2 番目のアンパックは、最初の nil 値までのパラメーターを提供します。私はそれで暮らすことができました。最初のテーブルは 4 を提供しますか? 真ん中が nil のパラメータ。nil ではない 4 つのパラメーターがありますが、表示されているものではありません。
誰でもこれを説明できますか?これは codepad.org と lua 5.1 で試しました