Lua:ipairs和pairs的区别

ipairs 和pairs在lua中都是遍历tbale的函数但是两者有区别

1.pairs遍历table中的所有的key-vale 而ipairs会根据key的数值从1开始加1递增遍历对应的table[i]值
a = {[1] = "a1", [2] = "a2", [3] = "a3", [5] = "a4", [6] = "a5",}
for key, value in ipairs(a) do
  print(key, value)
end


结果:
1    a1
2    a2
3    a3

a = {[1] = "a1", [2] = "a2", [3] = "a3", [5] = "a4", [6] = "a5",}
for key, value in pairs(a) do
  print(key, value)
end
结果:
6    a5
2    a2
3    a3
1    a1
5    a4

有一个要注意的是pairs()的一个问题,用pairs()遍历是[key]-[value]形式的表是随机的,跟key的哈希值有关系

 
posted @ 2015-05-04 10:55  合唱团abc  阅读(248)  评论(0编辑  收藏  举报