lua for循环遍历table的几种区别

来源:互联网 发布:ubuntu英文怎么读 编辑:程序博客网 时间:2024/05/22 14:29

       众人皆知的是有两种:ipairs和pairs,这两种相信大家也是很了解了,其中ipairs是从头(idx=1)开始往后顺序遍历,遇到nil即退出循环;而pairs则是非顺序遍历,只要里面有值都可以遍历的到。


       那假如我需要顺序遍历而且即使中间有nil也能完整遍历到最后呢?

       接下来就说这个:通过maxSize = table.maxn(pTable)获取到table最后一个元素的所在位置(或理解为最大长度,包括其中的nil),然后:

for idx=1, maxSize do     if pTable[idx] ~= nil then          -- 做相应的处理...     endend

        这样就能实现既顺序遍历而且又能遍历完全了。

1 0