lua中, pairs和ipairs的区别

Posted on 2019-10-16 19:31  冬眠包子  阅读(6642)  评论(0编辑  收藏  举报

函数pairs和ipairs都是实现遍历功能的函数,通常使用方法是和for函数共同使用构造for u,v in pairs/ipairs(t)实现遍历t表中的所有元素对。

区别在于,pairs可以遍历到表中所有的key,对于key的类型没有要求,遇到nil时可以跳过,不会影响后面的遍历

ipairs遍历时只能取key为整数值,遇到nil时终止遍历

代码来了!

 

 1.当表中的元素对key值均为默认时,pairs和ipairs遍历结果相同(pairs遍历结果中元素对顺序可能改变)

 

 

 2.当表中加入了nil后,pairs不受影响,ipairs从nil处终止

 

 

 

 

 3.在表中加入了key值不为整数型的元素对后,pairs不受影响,ipairs则无法取到这个key

 

Copyright © 2024 冬眠包子
Powered by .NET 8.0 on Kubernetes