15
私はipの使用がforループと比較して遅いと読んでいます。プログラミング習慣を変えるべきですか?私はルア5.2、ある日、現在5.1を使用しています。私はipairsかforループを使うべきでしょうか?
私の配列は、せいぜい約1000項目です。あなたは、テーブルのハッシュキーを使用している場合は、 - あなたは、順次、数値インデックスを持つテーブルを反復処理している場合
local mytbl = { 'a','b','c','e'}
for i,v in ipairs(mytbl) do
print(i,v)
end
for i=1,#mytbl do
print(i,mytbl[i])
end
パフォーマンステーブルをありがとう。ほんの数回のループでは二重の時間は実際にはあまりないので、私は現在のコードを変更する必要はありません。しかし、将来のループのために、私は今私が何をする必要があるか知っています。ありがとう! – topskip
すべてのパフォーマンスの考慮事項と同様、すべてがコンテキストに依存します。時期尚早の最適化はすべての悪とそのようなものの根源です。 – Amber
あなたのコメントは読んでください:** "あなたは' pairs() 'を使う必要があります** **' pairs'は 'pairs'と' ipairs'の2つだけです。後者はforループと全く同じです。数値インデックスを '1 'から'#t'にインクリメントすることによって繰り返します。 'for'ループと同じ理由で、あなたの事例では動作しません。 – Mud