###シンボルを作成する上での注意点
エラーが出る書き方
#識別子として無効な文字列(数字で始まる、ハイフン、スペースを含む文字列)を使うとエラーが発生
:5678 #=>SyntaxError
:rails-is-easy #=>Nameerror
:rails is easy #=>SyntaxError
:() #=>SyntaxError
#シングルクオートで囲むとシンボルとして有効
:'5678' #=>"5678"
:'rails-is-easy' #=>"rails-is-easy"
:'rails is easy' #=>"rails is easy"
:'()' #=>"()"
シンボルの中で式展開
#ダブルクオートを使う
title = 'Taro'
:"#{title.upcase}" #=> :TARO
###シンボルと文字列
文字列とシンボルは別物なので、互換性はない。しかし、文字列をシンボルに変換するメソッド、シンボルを文字列にするメソッドはある。
string = 'ruby'
sypbol = :ruby
string == symbol #=> false
#to_symメソッド:文字列をシンボルに変換
string.to_sym #=> :ruby
string.to_sym == symbol #=> true
#to_sメソッド:シンボルを文字列に変換
symbol.to_s #=> "ruby"
symbol.to_s == string #=> true
参考文献
プロを目指す人のためのRuby入門