FreeCamp

ハッシュについて

Rubyのハッシュについて学習していきます。
ハッシュはデータのまとまりです。
配列もデータのまとまりでしたが、配列はある箱に要素を0から順に格納していました。
ハッシュは添字ではなく、名前と値をセットにして箱に格納します。
名前と値のセットのことを要素と呼びます。
実際にコーディングした方が理解しやすいと思いますので、コードを書いていきましょう。

目次

  1. ハッシュ操作
    1.1 宣言
    1.2 出力
    1.3 追加
    1.4 更新
    1.5 削除

1. ハッシュ操作

ハッシュは名前と値のセットです。
一般的にはキー(key)とバリュー(value)のセットと言われています。

1.1 宣言

ハッシュの宣言をしていきます。

sample = {} # 中身が空のハッシュを作成
sample2 = {fruit: 'apple', sports: 'soccer'}
sample3 = {:fruit => 'apple', :number => 3}

上記のようにハッシュの初期化をすることが可能です。
キーには文字列でもハッシュでもどちらでも指定することができます。

1.2 出力

sample = {fruit: "apple", sports: "soccer"}
sample2 = {:fruit => "apple", :number => 3}
sample3 = {"fruit" => "apple", "number" => 3}

puts sample
# {:fruit=>"apple", :sports=>"soccer"}

puts sample2
# {:fruit => "apple", :number=>3}

puts sample3
# {"fruit"=>"apple", "number"=>3}

そのままハッシュを出力しました。
次にキーに対応する値のみ出力してみます。

sample = {fruit: "apple", sports: "soccer"}
sample2 = {:fruit => "apple", :number => 3}
sample3 = {"fruit" => "apple", "number" => 3}

puts sample[:fruit]
# apple

puts sample2[:number]
# 3

puts sample3["fruit"]
# apple

このようにして、あるキーの値だけを取り出すことができました。

1.3 追加

sample = {"fruit" => "apple", "number" => 3}
sample["food"] = "rice"

puts sample
# {"fruit"=>"apple", "number"=>3, "food"=>"rice"}

sample["food"] = "rice"のようにハッシュ名[キー]にバリューを代入することで追加することができます。

1.4 更新

sample = {"fruit" => "apple", "number" => 3, "food" => "rice"}
sample["fruit"] = "lemon"

puts sample
# {"fruit"=>"lemon", "number"=>3, "food"=>"rice"}

sample["fruit"] = "lemon"のようにすでに格納されている文字列をキーに指定することでvalueの更新をすることができます。

1.5 削除

削除にはdeleteメソッドを使用します。

sample = {"fruit" => "lemon", "number" => 3, "food" => "rice"}
sample.delete("fruit")

puts sample
# {"number"=>3, "food"=>"rice"}

sample.delete("fruit")でdeleteメソッドに指定したキーに一致する要素を削除できます。

ここではハッシュの基礎文法を学びました。