当前位置:  开发笔记 > 编程语言 > 正文

如何获取Lua中哈希表中的键数?

如何解决《如何获取Lua中哈希表中的键数?》经验,为你挑选了2个好方法。

我尝试了#运算符和table.getn().我认为table.getn()可以做你想要的,但事实证明它返回与#相同的值,即0.看起来字典会根据需要插入nil占位符.

循环键并计算它们似乎是获得字典大小的唯一方法.



1> Aaron Saarel..:

我尝试了#运算符和table.getn().我认为table.getn()可以做你想要的,但事实证明它返回与#相同的值,即0.看起来字典会根据需要插入nil占位符.

循环键并计算它们似乎是获得字典大小的唯一方法.


#是table.getn的简写,所以你会得到相同的结果
进一步澄清.#tbl对条目进行计数,直到找到nil密钥.它仅适用于常规(非稀疏)数组.即你有tbl [1],tbl [2]等没有删除或零条目的地方.
有点遗憾,在`table`命名空间中没有类似的方法.

2> serioys sam..:

表t的长度被定义为任何整数索引n,使得t [n]不是nil且t [n + 1]是nil; 此外,如果t [1]为零,则n可以为零.对于常规数组,非n值从1到给定n,其长度恰好是n,即其最后一个值的索引.如果数组具有"空洞"(即,其他非零值之间的nil值),那么#t可以是直接在nil值之前的任何索引(也就是说,它可以将任何这样的nil值视为结束的数组).因此,获取长度的唯一方法是迭代它.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有