我正在为 corona sdk 学习 Lua,我有这些
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..n}
对于一些整数 n
。在这种情况下,n
是它的长度。例如,local t = {"hello", 42, true}
是一个序列。
但是你的两个表都不是序列,因为它们有 nil
的“漏洞”。
关于lua - 为什么Lua中的长度不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059329/