luaにおけるpairsとipairsの違い

676 ワード

ipairsとpairsはluaではtbaleを巡る関数ですが両者に違いがあります
1.pairsはtableのすべてのkey-valeを遍歴し、ipairsはkeyの数値に基づいて1から1を加えて対応するtable[i]値を遍歴する
pairsは、テーブル内のすべてのkeyを遍歴することができ、反復器自体および遍歴テーブル自体に加えてnilを返すことができる.しかしipairsはnilを返すことができず、数字0を返すしかなく、nilに遭遇すると終了する.テーブルに表示される最初の整数ではないkeyにのみ遍歴できます
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