为什么Lua的长度不同

时间:2014-02-27 04:53:59

标签: lua corona lua-table

我正在学习Lua for corona sdk,我有这些

local type1 = {nil, "(", nil, "x" ,nil , ")" ; n=6}
local type2 = {"(",nil, "x",nil, ")",nil ; n=6}
print(#type1)   --prints 6
print(#type2)   --prints 3

为什么第二个也不是6

1 个答案:

答案 0 :(得分:4)

#运算符不适用于每个表,它只对序列起作用,即对于某个整数{{1},其正数字键的集合等于{1..n} }。在这种情况下,n是它的长度。例如,n是一个序列。

但是你的两个表都没有序列,因为它们有local t = {"hello", 42, true}的“漏洞”。

请参阅Lua 5.2 Reference Manual: The length operator