- # Ruby入門 > Hashクラス(ハッシュ)
ハッシュからキーと値を取り出しイテレータ処理
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
ハッシュから、キーと値を取り出して、イテレータで処理する例を見てみます。
sort文の書き方とか、Rubyでは直感的に日本語を話すように書ける気がします。
スポンサーリンク
#puts "name => height のハッシュ"
hash = {
"Takasi" => 175,
"Youko" => 162,
"Konta" => 183,
"Fumiko" => 157
}
p hash.keys
p hash.values
puts "--- eachとキーで回す"
hash.keys.each{|name|
print "#{name} is #{hash[name]} / "
}
puts
puts "--- each_key"
hash.each_key{|i|
print "#{i} --- #{hash[i]} / "
}
puts
puts "--- キーと値で回す"
hash.each{|key, value|
print "#{key} => #{value} / "
}
puts
puts "--- each_value"
hash.each_value{|i|
print "#{i}, "
}
puts
puts "--- 身長の低い順"
hash.keys.sort{|a, b|
hash[a] <=> hash[b]
}.each{|name|
puts "#{name}'s height is #{hash[name]}"
}
puts "--- 身長の高い順"
hash.keys.sort{|a, b|
hash[b] <=> hash[a]
}.each{|name|
puts "#{name}'s is #{hash[name]} cm"
}
puts "--- キーと値を両方取り出し"
p hash.to_a # キーと値を一要素とする配列になる
hash_ta = hash.to_a
p hash_ta.pop
p hash # 元のまま
p hash_ta # popで破壊されている
puts "--- whileとshiftで回す"
while a = hash_ta.shift
puts "#{a[0]} => #{a[1]}"
end
実行結果。
["Konta", "Youko", "Fumiko", "Takasi"]
[183, 162, 157, 175]
--- eachとキーで回す
Konta is 183 / Youko is 162 / Fumiko is 157 / Takasi is 175 /
--- each_key
Konta --- 183 / Youko --- 162 / Fumiko --- 157 / Takasi --- 175 /
--- キーと値で回す
Konta => 183 / Youko => 162 / Fumiko => 157 / Takasi => 175 /
--- each_value
183, 162, 157, 175,
--- 身長の低い順
Fumiko's height is 157
Youko's height is 162
Takasi's height is 175
Konta's height is 183
--- 身長の高い順
Konta's is 183 cm
Takasi's is 175 cm
Youko's is 162 cm
Fumiko's is 157 cm
--- キーと値を両方取り出し
[["Konta", 183], ["Youko", 162], ["Fumiko", 157], ["Takasi", 175]]
["Takasi", 175]
{"Konta"=>183, "Youko"=>162, "Fumiko"=>157, "Takasi"=>175}
[["Konta", 183], ["Youko", 162], ["Fumiko", 157]]
--- whileとshiftで回す
Konta => 183
Youko => 162
Fumiko => 157
スポンサーリンク
- - 関連記事 -
- ハッシュの値でソートする
- ハッシュを調べる
- ハッシュの作成
- ハッシュ(連想配列)
スポンサーリンク