如何获取Lua表中的条目数?
发布时间:2020-12-15 00:07:47 所属栏目:大数据 来源:网络整理
导读:听起来像“让我google给你”的问题,但不知何故我找不到答案。 Lua#运算符只对整数键进行计数,table.getn也是如此: tbl = {}tbl["test"] = 47tbl[1] = 48print(#tbl,table.getn(tbl)) -- prints "1 1"count = 0for _ in pairs(tbl) do count = count + 1 e
听起来像“让我google给你”的问题,但不知何故我找不到答案。 Lua#运算符只对整数键进行计数,table.getn也是如此:
tbl = {} tbl["test"] = 47 tbl[1] = 48 print(#tbl,table.getn(tbl)) -- prints "1 1" count = 0 for _ in pairs(tbl) do count = count + 1 end print(count) -- prints "2" 如何获取所有条目的数量而不计数? 解决方法
你已经有问题的解决方案 – 唯一的方法是用对(..)迭代整个表。
function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end 另外,注意“#”运算符的定义比这更复杂一点。让我通过采取这个表说明: t = {1,2,3} t[5] = 1 t[9] = 1 根据手册,3,5和9中的任何一个都是#t的有效结果。使用它的唯一理智的方法是一个连续部分的数组,没有nil值。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |