Ruby-iterators
提供:Dev Guides
Ruby-イテレーター
イテレータは、_collections_がサポートするメソッドに他なりません。 データメンバーのグループを格納するオブジェクトは、コレクションと呼ばれます。 Rubyでは、配列とハッシュをコレクションと呼ぶことができます。
イテレータは、コレクションのすべての要素を順番に返します。 ここでは、_each_と_collect_の2つのイテレータについて説明します。 これらを詳しく見てみましょう。
Ruby各イテレーター
各反復子は、配列またはハッシュのすべての要素を返します。
構文
_collection_の各要素に対して_code_を実行します。 ここで、_collection_は配列またはルビーハッシュにすることができます。
例
これは、次の結果を生成します-
常に_each_イテレータをブロックに関連付けます。 配列の各値を1つずつブロックに返します。 値は変数 i に保存され、画面に表示されます。
Rubyはイテレーターを収集します
_collect_イテレータは、コレクションのすべての要素を返します。
構文
_collect_メソッドは、必ずしもブロックに関連付けられる必要はありません。 _collect_メソッドは、配列かハッシュかに関係なく、コレクション全体を返します。
例
これは、次の結果を生成します-
注-_collect_メソッドは、配列間でコピーを行う正しい方法ではありません。 _clone_と呼ばれる別のメソッドがあります。これは、ある配列を別の配列にコピーするために使用する必要があります。
通常、各値を使用して新しい配列を取得する場合は、collectメソッドを使用します。 たとえば、このコードは、_a_の各値を10回含む配列_b_を生成します。
これは、次の結果を生成します-