3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby ハッシュ操作のまとめ(備忘録)

Posted at

ハッシュ操作のまとめ(備忘録)です。
自分用として記事を作成しましたが、どなたかの役に立てれば幸いです。

##①ハッシュを追加

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}

##最後に
思いつく限り、ハッシュ操作のあれこれを纏めてみました。
誤字・修正等がありましたら、コメント欄で指摘して頂けると嬉しいです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?