LoginSignup
0
0

More than 3 years have passed since last update.

Rubyのハッシュとシンボル、キーの関係について、わかりやすく解説する

Last updated at Posted at 2021-01-26

曖昧な理解になってしまいがちな「ハッシュ」「シンボル」について、解説していきます。
Rubyを勉強し始めた時は全然わからなかった。。

この記事を通して
・ハッシュとキーの関係がわかる
・シンボルの使い方がわかる
ようになれば幸いです。

ハッシュは、「関連付いた名前をつけて、データを格納したいとき」に使う

数学のテストがあって、データが点数順に並んでいるとします。

 score = [56,43,55,78,79,66,73,90,45,65,43,25]

ここで、taro君の点数を知ろうとしたとき「score」というデータだけではわかりませんよね。「name」という、データに関連付いた名前が必要になってきます。

ここで、ハッシュの登場です。
ハッシュとは、「関連付いた名前をつけて、データを格納したいとき」に使うことができます。

{ :name => score }    #今回の例であれば { :taro => 56 }

このような形でハッシュを作ることができます。これでtaro君の点数を知ることができるようになりました。

データに関連付いた名前のことを「キー」と呼ぶ

「:taro」の部分をキーと呼びます。キー(データに関連付いた名前)とデータのセットであるハッシュを格納するわけですね。

キーは、文字列、時間、数字など、任意のオブジェクトを使うことできますが、「シンボル」と呼ばれる、コロンではじまる識別子をよく使います。(例 => :taro)

またキーとデータの間の区切りにコロンを使うことができます。その場合、シンボル名の頭のコロンを書いてはいけません。

# ①文字列
"taro" => 56
# ②シンボル
:taro => 56
# ③一番良く使う表記
taro: 56

①、②、③は同じ意味になります

シンボルは「何かしらの名前を表す存在だよ」ということを示しています。

「:taro」になったり、「taro:」になったりして、コロンに惑わされると思うのですが、①、②、③が同じであることがわかれば安心かと思います。

まとめ

以上、ハッシュとシンボル、キーの関係について、解説していきました。

・「ハッシュ」・・・「関連付いた名前をつけて、データを格納したいとき」に使う
・「キー」・・・データに関連付いた名前
・「シンボル」・・・コロンではじまる識別子を使ったキー

この3点をおさえていきましょう。


この記事の説明がわかりやすかった!ここ間違ってるよ!次こんな記事を書いて欲しい!などあればコメント、DMよろしくお願いします。LGTMもぜひ。

Twitterもやってますので、フォローしていただけたらうれしいです。
卓球、心理学、哲学、Webサービス、好きな音楽、カメラ、登山、ランニング、読んだ本などなんでもつぶやいてます。

[https://twitter.com/atsushi101011]

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