0
0

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 3 years have passed since last update.

Ruby 入門 [組で扱う-ハッシュ]

Last updated at Posted at 2021-09-12

#シンボル(symbol)とは
シンボルはコロン記号(:)から始める。日本語ではあまり使わない。
シンボルも文字列や整数と同じようにオブジェクトの種類の一つ。シンボルのクラス名はSymbol。

● to_sym
to_symメソッドは文字列からシンボルへ交換

● to_s
to_sメソッドはシンボルから文字列へ交換

ハッシュの書き方
Ruby超入門のP148に書いてある

#キーと値の組を追加・削除する

ハッシュへキーと値を追加する
menu = {coffe:300,cafe_latte:400}
menu[:mocha] = 400
p menu
↪️{:coffe=>300, :cafe_latte=>400, :mocha=>400}
存在しないキーを指定した時.
menu = {coffe:300,cafe_latte:400}
p menu[:tea]
↪️nil

ハッシュから存在しないキーを指定して値を取得しようとすると、nilが得られる。

menu = {coffe:300,cafe_latte:400}
menu.default = 0
p menu[:tea]
↪️0

存在しないキーを指定した時の値は、default=メソッドで設定することもできる。

###2つのハッシュを1つにまとめる
●merge
mergeメソッドは2つのハッシュを1つにまとめるときに使う。mergeメソッドは元のハッシュと、指定したハッシュを1つにまとめて新しいハッシュを作るメソッド。

coffee_menu = {coffee: 300, caffe_latte: 400}
tea_menu = {tea: 300,tea_latte: 400}
menu = coffee_menu.merge(tea_menu)

↪️{:coffee=>300, :caffe_latte=>400, :tea=>300, :tea_latte=>400}

#ハッシュからキーと値の組みを削除する
● delete

menu = {coffee: 300,caffe_latte: 400}
menu.delete(:caffe_latte)
p menu
↪️{:coffee=>300}

deleteメソッドはハッシュからキーと値の組を削除するときに使う。

ハッシュを繰り返し処理する

ハッシュ.each do |キーの変数,値の変数|
 繰り返し実行する処理
end

menu = {"コーヒ" => 300,"カフェラテ" => 400}
menu.each do |key, value|
    puts "#{key}#{value}円です"
end
↪️コーヒは300円です
     カフェラテは400円です

###キーだけを処置したいとき
● each_key

each_keyメソッドはキーだけで繰り返し行うメソッドです。

menu = {"コーヒ" => 300,"カフェラテ" => 400}
menu.each_key do |key|
    puts key
end
↪️コーヒ
   カフェラテ

同様に値だけを繰り返しするeach_valueメソッドもあります

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?