4 ways to use Symbols in Ruby
A typical implementation of a Ruby interpreter maintains a symbol table in which it stores the names of all the classes, methods, and variables it knows about. This also allows such an interpreter to avoid most string comparisons: it refers to a method name by their position in this symbol table. This turns a relatively expensive string operation into a relatively cheap integer operation.


