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

ハッシュは、「データ」とそれに対応する「名前」のセットを要素として持つ値です。
ハッシュにおいては、データをバリュー、それに対応する名前をキーと呼びます。
ハッシュは順番ではなく、キーで管理をし、このようなキーとバリューで管理する方式をキーバリューストアと呼びます。

ハッシュの生成は

変数 = { キー1 => バリュー1, キー2 => バリュー2, キー3 => バリュー3 }
のように波括弧で囲い、ハッシュロケットと呼ばれる=>を用いてキーとバリューをセットにして記述します。
またハッシュのキーには、文字列も数値も使用できますが、多くの場合、シンボルという値が使用されます。

irb(main):004:0> a = {'name' => 'nanashi', 'birthplace' => 'tokyo', 'age' => '20'}
=> {"name"=>"nanashi", "birthplace"=>"tokyo", "age"=>"20"}
irb(main):005:0>  puts a['name']
nanashi
=> nil

変数aにハッシュを宣言しキーnameの値を取り出したいときはこのようにputs 変数['キー']で取り出します。

シンボルは、見た目は文字列のようですが、実際の中身は数値になっている値です。
シンボルの宣言は、文字列の先頭にコロン:をつけます。

# 以下はどちらも同じ要素 hash = { :name => "Taro" } hash = { name: "Taro" } # よく使用される

シンボルを使う理由としてコンピューターは、文字列を扱うよりも、数値を扱うほうが処理速度は速くなります。処理速度を速くすることと、文字列としての役割も果たせることから、ハッシュのキーには、文字列よりもシンボルを用いることが多いです。

irb(main):006:0> a ={ name: 'nanashi', birthplace: 'tokyo', age: '20'}
=> {:name=>"nanashi", :birthplace=>"tokyo", :age=>"20"}
irb(main):007:0> puts a[:name]
nanashi
=> nil

変数aにハッシュを宣言しキーnameの値を取り出したいときはこのようにputs 変数[:キー]で取り出します。

0
0
1

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?