Lua - table length 似乎无效

a = {}
a[1] = 1
a[2] = nil -- 因为 a[2] 已经是空值,所以不起作用
a[3] = 14

print(#a)

输出为 1

a = {}
a[1] = 1
a[2] = nil -- 因为 a[2] 已经是空值,所以不起作用
a[3] = 14
a[4] = 5

print(#a)

输出为 4

运算符真正返回的是什么?

点赞
用户8590292
用户8590292

如果表不是一个合适的序列,那么对该表应用 # 操作符的返回值是不确定的。

在您两种情况下,a 都不是一个合适的序列,因为 a[2] == nila[3] ~= nil

# 操作符返回合适序列的长度。

2017-09-26 08:29:15