ハッシュの記述方法がよくわからなくなってしまうので、復習を兼ねて記事にしました。
#ハッシュとは
データ」とそれに対応する「名前」のセットを要素として持つ値。
ハッシュにおいては、データをバリュー、それに対応する名前をキーと呼ぶ。
#ハッシュの生成方法
文字列をキーにする場合とシンボルをキーにする場合がある。
シンボルをキーにすると、キーを数値として扱ってくれるので処理速度が早い。
##文字列をキーにした書き方
height1 = { "Taro" => 175 , "Jiro" => 170 , "Kohei" => 165}
##シンボルをキーにした書き方
以下どちらの記述でもOK
height2 = { :Taro => 175 , :Jiro => 170 , :Kohei => 165}
height3 = { Taro: 175 , Jiro: 170 , Kohei: 165}
#ハッシュを編集するとき(値の追加、変更)
##ハッシュに値を追加する場合
ハッシュに値を追加したいときは以下のように記述する。
height3[:Hiro] = 183
puts height3
#{:Taro=>1175, :Jiro=>170, :Kohei=>165, :Hiro=>183}
##ハッシュの値を変更する
ハッシュの値を変更したいときは以下のように記述する。
height3[:Taro] = 185
puts height3
#{:Taro=>185, :Jiro=>170, :Kohei=>165, :Hiro=>183}
#ハッシュの中身を取り出す
##キーを取り出す
キーを取り出すときはkeysメソッドを使用する。
keysメソッドを使用すると、ハッシュ内のキーを配列として取り出すことができる。
###全てのキーを取り出すとき
#height3 = {:Taro=>185, :Jiro=>170, :Kohei=>165, :Hiro=>183}
puts height3.keys
Taro
Jiro
Kohei
Hiro
###一つのキーを取り出すとき
#height3 = {:Taro=>185, :Jiro=>170, :Kohei=>165, :Hiro=>183}
puts height3.keys[0]
Taro
##バリューを取り出す
バリューを取り出すときはvaluesメソッドを使用する。
valuesメソッドを使用すると、ハッシュ内のキーを配列として取り出すことができる。
###全てのバリューを取り出すとき
#height3 = {:Taro=>185, :Jiro=>170, :Kohei=>165, :Hiro=>183}
puts height3.values
185
170
165
183
###一つのバリューを取り出すとき
#height3 = {:Taro=>185, :Jiro=>170, :Kohei=>165, :Hiro=>183}
puts height3.values[0]
185