t = {1,nil,nil,2}
print (#t )
t = {1,2,nil,nil}
print (#t )
t = {nil,nil,1,2}
print (#t )
t = {1,nil,2,nil}
print (#t )
输出结果是
4
2
4
1
我对 nil 的理解是, table 里边,只要出现 nil ,后边的就不会在计入长度了,之前的 key ,如果没有显示指定,默认从 1 开始,从而上边四个输出应该是 1,2,0,1
不知道为什么结果和预期的不一样