Lua - table 长度似乎无效

Lua - table length seems invalid

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

print(#a)

打印 1

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

print(#a)

打印 4

# 运算符真正 return 是什么?

如果 table 不是正确的序列,则应用于 table 的 # 运算符的 return 值未定义。

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

# 运算符 return 是正确序列的长度。