Symbol メモ

% irb
ruby-1.9.2-p136 :001 >  :foo
 => :foo
ruby-1.9.2-p136 :002 > :"foo"
 => :foo
ruby-1.9.2-p136 :003 > :"foo" == :foo
 => true 
ruby-1.9.2-p136 :004 > :foo-bar
NameError: undefined local variable or method `bar' for main:Object
ruby-1.9.2-p136 :005 > :"foo-bar"
 => :"foo-bar" 
ruby-1.9.2-p136 :006 > "foo-bar".to_sym
 => :"foo-bar" 
ruby-1.9.2-p136 :007 > "foo-bar".intern
 => :"foo-bar" 
ruby-1.9.2-p136 :008 > %s{foo-bar}
 => :"foo-bar"
ruby-1.9.2-p136 :009 > p(foo:1)
{:foo=>1}
 => {:foo=>1} 
ruby-1.9.2-p136 :010 > p(foo-bar:1)
SyntaxError: (irb):10: syntax error, unexpected tLABEL
p(foo-bar:1)
          ^
ruby-1.9.2-p136 :011 > p("foo-bar":1)
SyntaxError: (irb):11: syntax error, unexpected ':', expecting ')'
p("foo-bar":1)
            ^