Lua中ipairs 和 pairs的区别

使用迭代器遍历table的时候,会用到pairs和ipairs,区别如下,只要执行一遍就看出:(注:table中有个nil

local temp = {"java", "c++", a = 1, "MySQL", nil, "Redis",b = 2}
print("==========ipairs===============")
 for k,v in ipairs(temp) do
    print(v)
end
print("==========pairs===============")

for k,v in pairs(temp) do
    print(k,v)
end

 输出的结果:

==========ipairs===============
java
c++
MySQL
==========pairs===============
1    java
2    c++
3    MySQL
5    Redis
a    1
b    2

 

总结:①:ipairs不会迭代键值对,会跳过键值对然后顺利输出table中的值,遇到nil则会中断,类似java的break;

     ②:pairs会输出table中的键值对,输出遇到nil也不会中断。类似于java的continue

 

posted @ 2021-05-26 14:57  DC红茶  阅读(244)  评论(0编辑  收藏  举报