2014年3月12日水曜日

Rubyのシンボルについて

これから仕事で本格的にRubyを使うにあたり、しばらくRuby書いてなかったので文法とか色々忘れてましたから、ちょっと勉強しなおしてます。

で、シンボルに完全に忘れてたのでメモ。文字列に似てますが実態は整数というやつです。

シンボルの定義


以下のように書くとシンボルになります。

:hoge


空白やハイフン等を含む場合はダブルクオーテーションも必要です。

:"foo bar"


文字列の intern メソッドでも作れます。

"example".intern


シンボルの意義


シンボルはラベルのようなもので、内部的には整数として扱われるため「一致するかどうかの比較が高速」です。具体的な用途として例えば

・配列のキーとして使う。
・メソッドの引数がいくつかの選択肢をとるような場合の選択肢として使う。

といったものがあります。

参考:class Symbol (Ruby 1.9.3 リファレンスマニュアル)

※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうそ。

0 件のコメント:

コメントを投稿