#ハッシュとは
データとそれに対応する名前をつけて複数の値を管理するものです。
データの部分を「バリュー」、名前の部分を「キー」とよびます。
このようなキーとバリューで管理する考え方を「キーバリューストア」と呼びます。
#####ハッシュは { } (波括弧)を使って生成します。
ハッシュロケット => を用いてキーとバリューをセットにして書きます。
変数 = { キー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と出力される
以上です。