lua数组无法正确获得长度(使用nil元素时)
# 看下面的几个例子, 就知道元素出现nil时,没法正确获得数组的长度,长度是按某种规律来出现的(具体啥规律得熟悉lua源码才能知道)
local tblTest5 = { 1, nil, 2, } print(table.getn(tblTest5))
结果3
local tblTest6 = { 1, nil, 2, nil } print(table.getn(tblTest6))
结果1
local tblTest7 = { 1, nil, 2, nil, 3, nil } print(table.getn(tblTest7))
结果3
local tblTest8 = { 1, nil, 2, nil, 3, nil, 4, nil } print(table.getn(tblTest8))
结果1
【结论】
# lua table作为数组时,不要使用nil元素,这样会带来很多不确定性
【参考】
Lua中获取table长度的方法_Lua_脚本之家 (jb51.net)
lua中#,getn, maxn获取数组的长度的陷阱_程序员黄老师的博客-CSDN博客_lua 数组长度
Lua编码Tips及常用自定义函数 - 简书 (jianshu.com)
Lua 的 # 获取长度 - 简书 (jianshu.com)