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】ハッシュの生成

Posted at

ハッシュの記述方法がよくわからなくなってしまうので、復習を兼ねて記事にしました。

#ハッシュとは
データ」とそれに対応する「名前」のセットを要素として持つ値。
ハッシュにおいては、データをバリュー、それに対応する名前をキーと呼ぶ。

#ハッシュの生成方法
文字列をキーにする場合とシンボルをキーにする場合がある。
シンボルをキーにすると、キーを数値として扱ってくれるので処理速度が早い。
##文字列をキーにした書き方

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