<6-1>オブジェクトを組みで扱う
p ( {:coffee => 300, :caffe_latte => 400} )
#「=>」ハッシュロケットという
p "coffee".to_sym
#:coffee
p :coffee.to_s
#"coffee"
#ハッシュロケット使わないVer.
menu = {coffee: 300, caffe_latte: 400}
p menu
menu = {coffee: 300, cafe_latte: 400}
p menu[:coffee]
#値の取得は 「 ハッシュ[キー] 」 「:」をつけるのを忘れない!!文字列の場合はいらない!
<6-2>キーと値の組を追加・削除
#ハッシュへキーと値の組を追加する
menu = {coffee: 300, caffe_latte: 400}
menu[:mocha] = 400
p menu
====>{coffee: 300, caffe_latte: 400, mocha: 400}
#ハッシュは同じキーを複数持てない
menu = {coffee: 300, caffe_latte: 400}
menu[:coffee] = 350
p menu
====>{:coffee=>350, :caffe_latte=>400} 上書きされる
#存在しないキーは「nill」
p menu[:tea]
===>nill
menu.default = 0 defaultメソッド
p menu[:tea]
===>0
#ハッシュをまとめる .merge
coffee_menu = {coffee: 300, caffe_latte: 400}
tea_menu = {tea: 300, tea_latte: 400}
menu = coffee_menu.merge(tea_menu)
p menu
===>{:coffee=>300, :caffe_latte=>400, :tea=>300, :tea_latte=>400}
#ハッシュからキーと値を削除する .delete
menu.delete(:caffe_latte)
p menu
===>{:coffee=>300, :tea=>300, :tea_latte=>400}
<6-3>ハッシュの要素を繰り返し処理する
#ハッシュの繰り返し処理
ハッシュ.each do |キー, 値|
実行する処理
end
menu = {"コーヒー" => 300, "カフェラテ" => 400}
menu.each do |key, value|
puts "#{key}は#{value}です"
end
コーヒーは300です
カフェラテは400です
#キーだけや値だけ処理することも可能「menu.each_key do」、「menu.each_value do」
menu.each_value do |value|
puts value
end
300
400