LoginSignup
3
1

More than 3 years have passed since last update.

ハッシュ

Posted at

ハッシュとは

データとそれに対応する名前をつけて複数の値を管理するものです。
データの部分を「バリュー」、名前の部分を「キー」とよびます。

このようなキーとバリューで管理する考え方を「キーバリューストア」と呼びます。

ハッシュは { } (波括弧)を使って生成します。

ハッシュロケット => を用いてキーとバリューをセットにして書きます。
変数 = { キー1 => バリュー1, キー2 => バリュー2, キー3 => バリュー3 }

ハッシュの書き方には複数あり、シンボルという物を使って書かれる書き方もあります。

シンボルは、見た目は文字列のようですが、実際の中身は数値になっています。

シンボルの宣言は、文字列の先頭にコロン:をつけます。
同じ文字列であれば、文字列にクォーテーションをつけてもつけなくても中身は同じ値になります。

:"Hello"

:Hello

#どちらも同じ値

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

実際にハッシュを生成してみましょう。

son = { "name" => "Nick", "age" => 12 }
father = { name: "George", age: 38 }

ハッシュへ要素を追加したい場合

ハッシュ[追加するキー] = 値 とします。

son = { "name" => "Nick", "age" => 12 }
father = { name: "George", age: 38 }

father[:hobby] = "fishing"    #キー hobby バリュー fishing を追加

ハッシュの値を取得

ハッシュ[取得したい値のキー] とします。

son = { "name" => "Nick", "age" => 12 }
father = { name: "George", age: 38, hobby: "fishing" }

puts father[:age]  # 38 と出力される

ハッシュの値を変更

ハッシュ[変更したい値のキー] = 値 とします。

son = { "name" => "Nick", "age" => 12 }
father = { name: "George", age: 38, hobby: "fishing" }

father[:age] = 40

puts father[:age]  #40と出力される

以上です。

3
1
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
1