【发布时间】:2010-12-12 23:30:31
【问题描述】:
我在 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
第二个解包将参数传递到第一个 nil 值。我可以忍受。 第一张桌子提供4?参数,中间一个为零。它有 4 个不是 nil 的参数,但它们不是显示的那个。
谁能解释一下? 这是用 codepad.org 和 lua 5.1 尝试过的
【问题讨论】: