0
1

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.

シンボルとは

Posted at

シンボルとは

Symbol とは、Ruby が内部でメソッド名などの識別に使っている数値で、任意の文字列に対して異なった値が割り当てらる。

なるほど、よく分かりませんね。

つまり、文字列だけど数値。みたいなものです。ハッシュのキーや文字列自体がデータでは無い物に使うことが吉です。

前コロンと後コロンの違い

シンボルとは主に文字列にコロン記号「:」を前置して定義したものです。

それにより、文字列を””で囲む必要がなくなります。

コロン記号「:」が、文字列記号「””」の代わりに、「これはシンボルだよ」とRubyに知らせています。

上記のように、コロン記号「:」を文字列に前置するとシンボルになります。

たとえば、ハッシュのキーとしてシンボルを使う際や、キーワード引数を使う際に、コロン記号「:」を後置します。

シンボルはオブジェクトの一つ

メソッドなどの名前を識別するためのラベルをオブジェクト化

samurai   /*文字列
:samurai /*シンボル

ハッシュのキーとして利用する

よく使われるのが、ハッシュのキーだと思います。

hash_symbol = { tsuma: "sazae", otto: "masuo", kodomo: "tarao" } 

取り出しは

puts hash_string[:tsuma]  # "sazae" と表示
puts hash_string[:otto]   # "masuo" と表示
puts hash_string[:kodomo] # "tarao" と表示

なり、キーをシンボルで定義しています。

ハッシュはデータを持たない

最初に記述した通り、ハッシュは「文字列だけど数値。」なのでデータを持ちません。
そのため、文字列そのもののデータを必要としない場合にシンボルが使われています。

シンボルのメリット

シンボルを使うことでコードが短くなり可読性が上がったり、処理が早くなったり、メモリ消費が少なくなったりと、いいことばかりらしいので、一緒に勉強しましょう。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?