Rubyにはシンボルというものがある :thorugh
とか :conditions
とか、コロンで始まる表記で、RailsのAPIによく出てくるアレだ。
でも、シンボルって何だろう。この問いに答えられる人は少ないのではないか。シンボルリテラルの表記法は分かる。Symbolクラスのインスタンスであることも分かる。何だか、文字列に似ているのも知っている。で、それは何?
この記事シリーズは、シンボルとは何かという問いに私なりの回答を提示する。
視点
Rubyにおけるシンボルを、私は3つの視点から説明する。
意味論から言えば、「プログラムにおける名前」という概念に対応するオブジェクトである。
他のオブジェクトとの相互作用で言えば、「intern化された文字列」に近い
実装から言えば、Rubyの名前管理用ハッシュ表のエントリである。