Lua-tableテーブルを巡る
pairs、ipairs、key値順に巡るpairsBykeysの3つの方法を簡単に見てみましょう.
--tableテーブルの操作
--tableの要素がtableタイプの場合
--table内の要素が非tableタイプの場合は、表の並び順で遍歴
出力は次のとおりです.
一度見てみると、この3つの方法の違いや使い方が一目瞭然になると思います.次にtable_を巡ってみてください.item 1表は、注釈と同じかどうかを見ます.
--tableテーブルの操作
function pairsBykeys(t)
local a = {}
for n in pairs(t) do
a[#a+1] = n
end
table.sort(a)
local i = 0
return function()
i = i + 1
return a[i], t[a[i]]
end
end
--tableの要素がtableタイプの場合
table_item={
[1]=25,
[150002]=15000,
[150008]={150008},
[9]=' !!',
[150010]=3002,
[2]={{25,},},
}
--table内の要素が非tableタイプの場合は、表の並び順で遍歴
table_item1={
1,5,6,"worker",{4},true
}
print("---pairs, key hash ---")
for k,v in pairs(table_item) do
print(k,v)
end
print("
---ipairs, key 1 ---")
for k,v in ipairs(table_item) do
print(k,v)
end
print("
---pairsBykeys, key ---")
for k,v in pairsBykeys(table_item) do
print(k,v)
end
出力は次のとおりです.
---pairs, key hash ---
2 table: 00BF9230
150008 table: 00BF94D8
1 25
150010 3002
9 !!
150002 15000
---ipairs, key 1 ---
1 25
2 table: 00BF9230
---pairsBykeys, key ---
1 25
2 table: 00BF9230
9 !!
150002 15000
150008 table: 00BF94D8
150010 3002
一度見てみると、この3つの方法の違いや使い方が一目瞭然になると思います.次にtable_を巡ってみてください.item 1表は、注釈と同じかどうかを見ます.