ハッシュ操作のまとめ(備忘録)です。
自分用として記事を作成しましたが、どなたかの役に立てれば幸いです。
##①ハッシュを追加
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
パターン1:
fruits["パイナップル"] = 300
パターン2:
fruits.store("パイナップル",300)
p fruits
# pの出力
# => {"りんご"=>100, "みかん"=>80, "もも"=>200, "パイナップル"=>300}
##②ハッシュの中身を変更
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
fruits["りんご"] = 3000
p fruits
# pの出力
# => {"りんご"=>3000, "みかん"=>80, "もも"=>200}
##③ハッシュの中身を削除
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
fruits.delete("りんご")
p fruits
# pの出力
# => {"みかん"=>80, "もも"=>200}
##④ハッシュの要素数を表示
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
p fruits.length
# pの出力
# => 3
##⑤ハッシュの値を配列(each文)で取り出す
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
fruits.each_value do |fruit|
p fruit
end
# pの出力
# => 100 80 200
##⑥ハッシュのキーと値を配列(each文)で取り出す
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
fruits.each do |fruit|
p fruit
end
# pの出力
# => {"りんご"=>100, "みかん"=>80, "もも"=>200}
##⑦ハッシュをキーでソートする(ソート後は配列になる)
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
p fruits.sort
# pの出力
# => [["みかん", 80], ["もも", 200], ["りんご", 100]]
##⑧ソート配列になった値をハッシュに戻す
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
p fruits.sort.to_h
# pの出力
# => {"みかん"=>80, "もも"=>200, "りんご"=>100}
##⑨ハッシュを値でソートする
hoge.rb
fruits = {"りんご" => 100, "みかん" => 80, "もも" => 200}
p fruits.sort_by{|k,v| v}
# pの出力
# => [["みかん", 80], ["りんご", 100], ["もも", 200]]
##⑩ハッシュのキーをシンボルで表示
hoge.rb
fruits = {:りんご => 100, :みかん => 80, :もも => 200}
p fruits
# pの出力
# => {:りんご=>100, :みかん=>80, :もも=>200}
##⑪ハッシュのキーを省略形で表示
hoge.rb
fruits = {りんご: 100, みかん: 80, もも: 200}
p fruits
# pの出力
# => {:りんご=>100, :みかん=>80, :もも=>200}
##最後に
思いつく限り、ハッシュ操作のあれこれを纏めてみました。
誤字・修正等がありましたら、コメント欄で指摘して頂けると嬉しいです。