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)

 

posted @   yanghui01  阅读(299)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示