Rubyにおける「シンボル」ってなんだ?
結局「シンボル」ってなに…
結論から言うとシンボルはRubyの内部で整数として扱われる。2つの値が同じか調べるときなど、文字列よりも高速に処理することができる。
シンボルのほうがさらにメモリの使用効率が良いらしい。
irb(main):009:0* 'a'.object_id => 70227007054700 irb(main):010:0> 'a'.object_id => 70227010342780 irb(main):011:0> 'a'.object_id => 70227010329420 irb(main):013:0* :a.object_id => 736988 irb(main):014:0> :a.object_id => 736988 irb(main):015:0> :a.object_id => 736988
シンボルは同じシンボルであれば同じオブジェクトであるということらしい。
Stringの場合はobject_idが実行ごとに変わっている
なんで「シンボル」使ってるんだろうとか考えたことなかったな… 勉強勉強…