Rubyのシンボルについて
ハッシュのキーにシンボルを設定することもできる
code:rb
hash = {'test' => 'dd}', :test_2 => 'fdsa', test3: 'adfdsa}
:hash_key => value
の書き方は、
hash_key: value
と書くこともできる
シンボルの場合は同一オブジェクトという扱いになる
code:rb
irb(main):010> str1 = 'str'
=> "str"
irb(main):011> str2= 'str'
=> "str"
irb(main):012> str1.object_id
=> 233060
irb(main):013> str2.object_id
=> 237380
code:rb
irb(main):001> str1 = :str
=> :str
irb(main):002> str2= :str
=> :str
irb(main):003> str1.object_id
=> 701148
irb(main):004> str2.object_id
=> 701148
irb(main):005>
そもそもシンボルは文字列と比較して高速な処理が可能&メモリの使用効率が良い
シンボルは内部で整数として管理されている
表面的には文字列に見えるだけ
同じシンボルは全く同じオブジェクトである
なので、シンボルのキーをハッシュに使うと文字列よりも高速に値を取り出すことが可能!