2017-09-26 118 views
0
a = {} 
a[1] = 1 
a[2] = nil -- does nothing, as a[2] is already nil 
a[3] = 14 

print(#a) 

打印1的Lua - 表的长度似乎无效

a = {} 
a[1] = 1 
a[2] = nil -- does nothing, as a[2] is already nil 
a[3] = 14 
a[4] = 5 

print(#a) 

打印4

什么是#运营商真正回归?

回答

2

如果表格不正确,则应用于该表格的#运算符的返回值未定义。

在这两种情况下,a都不是正确的顺序,因为a[2] == nila[3] ~= nil

#运算符返回正确序列的长度。