考えてみました。セマンティックの区別はありますか、それとも自由に選択できますか?
[〜#〜] edit [〜#〜]私は @ roygbivs answer を受け入れました。ほとんどの回答がそれを示唆しているからですどちらを選ぶかは好みの問題であり、実際に意味を変えることはありません。その場合、throughとoverは(その特定のコンテキストで)情報をまったく運ばないため、省略できます。
「スルー」と「オーバー」は役に立たない副詞です。
例:
このコレクションを繰り返している間、私のコードはエラーをスローします。
このコードはコレクションを繰り返します。
あなたの割り当ては、コレクションを反復するコードを書くことです。
「北上」または「南下」と言うようなものです。 「上」と「下」は無意味です。代わりに、「夏に向けて北へ行く」と言うべきです。または「南部では綿花を栽培しています。」
正しくないか間違っていない、いくつかの統計:
= term = = Google = = Github =
"iterate over" 1,440,000 10,569,846 search results
"iterate through" 908,000 5,605,973
"iterate thru" 44,200 141,982
——————————————————————————————————————————
"iterate on" 402,000 187,576
"iterate in" 63,300 117,962
"iterate across" 10,900 208,342
"iterate within" 8,470 14,577
"iterate along" 8,060 6,396
"iterate among" 5,970 2,960
"iterate against" 2,580 3,255
"iterate inside" 2,450 35,060
"iterate amongst" 406 22,274
"iterate amidst" 66 0
Googleの統計は4/25/2018に更新されました。後続の検索は、結果が不安定であることを示しています。
2018年4月25日に更新されたGithubの統計。コードの発生のみがカウントされます。
前置詞の目的に依存すると思います。イテレータ、コレクション、コンテナ、リスト、範囲などで反復しますが、リスト(の内容)、コンテナ(の要素)、(の要素) )範囲、コレクション(の要素)など。ほとんどすべての場合、それらは交換可能です。 「オーバー」を使用するが「スルー」ではない唯一の場所は、イテレータ自体に関してです。しかし、反復可能なオブジェクトについては、「オーバー」または「スルー」のいずれかを使用します。
繰り返しますが、これは私がいつも書いているのを見てきました。
両方とも本質的に同じ意味です!
だから、あなたはあなたに合ったものを自由に選ぶことができます。
反復子自体が反復の対象であるコンテナに含まれていないという(比較的重要な)事実を強調するため、私は常に「iterate over」と言います。
「繰り返し」と言うことは、コンテナの各要素を順番に見ていたことを意味しますが、実際にはそうではありません。
対照的に、「繰り返し」と言うことは、コンテナの各要素への外部ハンドルを順番に受け取っていることを意味し、実際に何が起こっているかです。
ただし、「繰り返し処理」にはwrongはなく、イテレータを理解している人なら、両方のフレーズを確実に理解できます。
技術的には、おそらく「反復」期間です。しかし、どちらの場合でもあなたの言うことは明らかです。
「ループオーバー」を使用します。シンプル。
重要な言葉は反復であり、あなたがそれにどんなフィラーを配置するかは本当に重要ではありません。
私は、ファイルキャビネットを作成する方法を「反復」することを想像します。私の精神的なイメージを考えれば、それは個人的な好みかもしれません-「繰り返し」はより一般的な使い方だと思います。
私は彼らが最も実用的な目的のために交換可能であると思いますが、私のコメントでは私は個人的にそれらを小さな区別で使用する傾向があります:私はあなたが「私はそれを見ます「。つまり、それは詳細な検査ではありません。何かを探して閲覧しています。逆に、「繰り返し」とは、それぞれを意図的に通過させることです。
したがって、リスト内の1つのアイテムを検索しているだけなら、リストを「繰り返し処理」していると言えます。各アイテムに何らかの変換を適用している場合、「繰り返し処理」になります。
Common LISPのLOOPマクロはfor element in list
を使用しますが、for element across array
(コンパイラがより効率的なコードを生成できるように異なります...ええ、それは奇妙です)、前置詞はそれほど重要ではないことを示唆しています。
私は両方をランダムに、時には同じ文で使います。接続しているWordをドロップするのは文法が悪く、どちらも意味がありません。
辞書では、「繰り返し」とは、「発言またはやり直し、繰り返し」という意味の推移的な動詞です。
あなたが言ったことを「繰り返し」ますか、それとも「繰り返し」ますか?単純に繰り返すと思います。または、必要に応じて単純に繰り返します。
そうは言っても、「ループ」の類義語として「繰り返し」を使用している場合は、データを一度に1ループずつループ処理しているとしたら、おそらく「繰り返し」になります。これは地雷原です!
System.Collections.Generic.IEnumerator GetEnumerator()の概要テキストには次のように記載されています。
throughコレクションを反復する列挙子を返します。
個人的に私は言います...しかし、実際にどちらを使用するかは重要ではないと思います。
より良い方法があります。
J's members are dissimilar, but all can be incremented.
Having incremented every member of 'J' ...
J contains incrementable elements.
J refers to several items.
J refrances several items.
Everything in J is incrementable.
Everything J refers to should necessarily be thought of as being storable in a set.
Sequentially referring to J's contents ...
Apply between each element of J and R until all possible compatible pairs have been found.
Ask J using it's 'ask' function to sequentially apply addition between it's contents and return the result.
これは、「持っている」という言葉のようなもので、1つのWordへのセンテンス全体を頻繁に減らすことができます。
次のように、反復のために繰り返してはいけません->円、三角形、八角形、五角形、六角形。