Home » ruby » ruby ハッシュをeachメソッドで一つずつ取り出す

ruby ハッシュをeachメソッドで一つずつ取り出す

eachメソッドとは

ハッシュの中にある要素(キーと値)のすべてを
eachメソッドで一つずつ取り出して出力できます。

実際に、eachメソッドでキーと値を取り出していきます

hash = { syun: "21",kazuma: "30",jan: "50" }
hash.each do |name, age|
    puts "#{name}\t#{age}歳"
end
syun    21歳
kazuma  30歳
jan     50歳

1行目 ハッシュのデータを格納
2行目 キーをnameに、値をageに格納
3行目 nameとageを出力

eachは1,2,3のように一つずつ順番通りに出力され、

要素がなくなるまで繰り返されます。

他にもeach_pairメソッドが存在しますが、

名前が違うだけで同じ効果を持ったメソッドです。

each_keyメソッドでキーのみを繰り返しで出力する。

each_keyメソッドは、
ハッシュの要素数の回数分繰り返して、
引数にキーを格納して出力できるメソッドです。
実際に使ってみます。

hash = { syun: "21",kazuma: "30",jan: "50" }
hash.each_key do |name|
    puts name
end
syun
kazuma
jan

繰り返しでname変数にキー情報を格納して、
出力しています。
キーのみが出力されているのがわかります。

each_valueメソッドで値のみを繰り返しで出力する。

each_valueメソッドは、
ハッシュの要素数の回数分繰り返して、
引数に値を格納して出力できるメソッドです。
実際に使ってみます。

hash = { syun: "21",kazuma: "30",jan: "50" }
hash.each_value do |age|
    puts age
end
21
30
50

繰り返しでage変数に値情報を格納して、
出力しています。
値のみが出力されているのがわかります。

 

参考文献

,

コメントを残す

%d人のブロガーが「いいね」をつけました。