Just another addition to the facts above:

Symbols are Ruby's implementation of string interning or pooling, where
all the distinct symbols, each of which being immutable, are "interned"
in a constant pool. This mechanism brings better performance (both in 
time
and space) of string comparison and reduces memory usage, but also
increases the time to create strings.

-- 
Posted via http://www.ruby-forum.com/.