What does the Ruby method 'to_sym' do?

keruilin picture keruilin · Oct 31, 2010 · Viewed 33.3k times · Source

What does the to_sym method do? What is it used for?

Answer

cHao picture cHao · Oct 31, 2010

to_sym converts a string to a symbol. For example, "a".to_sym becomes :a.

It's not specific to Rails; vanilla Ruby has it as well.

It looks like in some versions of Ruby, a symbol could be converted to and from a Fixnum as well. But irb from Ruby 1.9.2-p0, from ruby-lang.org, doesn't allow that unless you add your own to_sym method to Fixnum. I'm not sure whether Rails does that, but it doesn't seem very useful in any case.