[解決済み] Luaのpairs()とipairs()の違いは何ですか?
2022-02-12 12:25:15
質問
forループにおいて、pairs()とipairs()でループすることの違いは何ですか?このページでは両方を使っています。 Luaドキュメント
ipairs()を使用します。
a = {"one", "two", "three"}
for i, v in ipairs(a) do
print(i, v)
end
結果
1 one
2 two
3 three
pairs()で。
a = {"one", "two", "three"}
for i, v in pairs(a) do
print(i, v)
end
結果
1 one
2 two
3 three
ここでテストができます。 Luaデモ
解決方法は?
pairs()
と
ipairs()
が微妙に違う。
-
pairs()
はキーと値のペアを返すもので、主に連想配列のテーブルに使われる。 -
ipairs()
はインデックスと値のペアを返し、主に数値表で使用されます。配列中の非数値キーは無視され、インデックスの順序は決定論的(数値順)である。
これを説明するのが、次のコードである。
> u={}
> u[1]="a"
> u[3]="b"
> u[2]="c"
> u[4]="d"
> u["hello"]="world"
> for key,value in ipairs(u) do print(key,value) end
1 a
2 c
3 b
4 d
> for key,value in pairs(u) do print(key,value) end
1 a
hello world
3 b
2 c
4 d
>
ご質問のようにキーなしでテーブルを作成した場合、数値配列として動作し、pairsやipairsの動作も同じです。
a = {"one", "two", "three"}
は、以下のものと同等です。
a[1]="one"
a[2]="two"
a[3]="three"
と
pairs()
と
ipairs()
で保証されない順序を除いて)同一になります。
pairs()
).
関連
-
[解決済み] Luaのpairs()とipairs()の違いは何ですか?
-
[解決済み] ステートメント: %%i '現時点では予期しない' を表す一行。
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] ( for... in ) と ( for... of ) の文の違いは何ですか?
-
[解決済み】ループ内のプリインクライメントとポストインクライメントの違い?
-
[解決済み] 'for'ループの最後の要素を検出するpythonic方法は何ですか?
-
[解決済み】TypeScript for ... of with index / key?
-
[解決済み] forループでbreakを使うのはバッドプラクティスですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン