5-3-3 配列・ハッシュのeachメソッドの書式
配列のeach
メソッドの書式
配列オブジェクトにドット(.
)を記述し、その後each
メソッドを記述します。
半角スペースの後、ブロックを記述し直後にブロックに渡す値を|変数|
で定義します。
繰り返し実行する処理をブロックの中に記述するのはtimes
メソッド同様です。
配列のeach
メソッドの書式をまとめると以下の通りです。
配列.each do |変数| # 配列の数分、処理を繰り返す end
ハッシュのeach
メソッドの書式
ハッシュのeach
メソッドの基本的な書式は配列の場合と似ています。
違うのは、変数の数によって挙動が異なる点です。変数が1つの場合は、ハッシュに定義されたうちの1つのキーと値のペアの配列が代入されます。
ここではキーと値のペアのハッシュではなく、配列である点に注意が必要です。
変数が2つの場合は、ハッシュに定義されたうちの1つのキーが1番目に定義された変数に代入され、値が2番目に定義された変数に代入されます。
ハッシュのeach
メソッドの書式をまとめると以下の通りです。
# 変数が1つの場合 ハッシュ.each do |変数(キーと値の配列)| # ハッシュの数分、処理を繰り返す end # 変数が2つの場合 ハッシュ.each do |キー, 値| # ハッシュの数分、処理を繰り返す end
Rubyの改行とセミコロン(;
)
改行はプログラムの区切りとして用いられます。Rubyにおいて、改行の代用として、セミコロン(;
)を使用することができます。
前ページ「5-3-2 eachメソッドを使ってみよう」で記述したプログラムでは、each
のブロックでp key; p value
と記述しましたが、これは改行で書き換えると以下です。
p key p value
each
メソッドの書式のまとめ
- 配列やハッシュに対して繰り返し処理を行うには
each
メソッドを使う each
メソッドの繰り返し処理ブロックに配列やハッシュの要素を変数に代入して利用できるeach
メソッドは配列とハッシュで動作が異なる