Ruby での Each メソッドの使用

ラップトップとノートで作業する男性

vgajic/ゲッティ イメージズ





Ruby のすべての配列とハッシュはオブジェクトであり、これらの型のすべてのオブジェクトには一連の組み込みメソッドがあります。 Ruby を初めて使用するプログラマーは、 ここに示す簡単な例に従って、配列とハッシュを使用してメソッドを作成します。

Ruby の配列オブジェクトで Each メソッドを使用する

まず、配列を「手先」に割り当てて配列オブジェクトを作成します。



|_+_||_+_|

次に、 each メソッドを呼び出して、結果を処理する小さなコード ブロックを作成します。

|_+_||_+_|

このコードは、次の出力を生成します。



|_+_||_+_|
|_+_|
|_+_|

each メソッドには 2 つの時間がかかります 引数 —要素とブロック。パイプ内に含まれる要素は、プレースホルダーに似ています。パイプの中に入れたものはすべて、配列の各要素を順番に表すためにブロックで使用されます。ブロックは、各配列項目で実行され、処理する要素が渡されるコード行です。

を使用して、コード ブロックを複数行に簡単に拡張できます。 行う より大きなブロックを定義するには:

|_+_||_+_|
|_+_|
|_+_|
|_+_|

これは最初の例と同じですが、ブロックが (パイプ内の) 要素の後と end ステートメントの前のすべてとして定義されている点が異なります。

ハッシュ オブジェクトでの Each メソッドの使用

のように 配列オブジェクトハッシュオブジェクト ハッシュ内の各アイテムにコードのブロックを適用するために使用できる each メソッドがあります。まず、いくつかの連絡先情報を含む単純なハッシュ オブジェクトを作成します。



|_+_||_+_|

次に、each メソッドを呼び出し、コードの単一行ブロックを作成して、結果を処理および出力します。

|_+_||_+_|

これにより、次の出力が生成されます。



|_+_||_+_|
|_+_|

これは、配列オブジェクトの each メソッドとまったく同じように機能しますが、1 つの重要な違いがあります。ハッシュの場合、2 つの要素を作成します。 ハッシュ キーと値の 1 つ。配列と同様に、これらの要素は、各キーと値のペアをコード ブロックに渡すために使用されるプレースホルダーです。 ルビーループ ハッシュを介して。

do を使用してより大きなブロックを定義することにより、コード ブロックを複数行に簡単に拡張できます。



|_+_||_+_|
|_+_|
|_+_|
|_+_|

これは最初のハッシュの例と同じですが、ブロックが (パイプ内の) 要素の後と end ステートメントの前のすべてとして定義されている点が異なります。