From: szpak Date: 2006-01-02T04:27:55+09:00 Subject: Re: What is the difference between :foo and "foo" ? A symbol in Ruby is similar to a symbol in Lisp in that the symbol is a name, or more precisely a named atom which can also respond to a request to expose itself as a number (to_i) or a string (to_s). In this case a Ruby symbol is similar to a Lisp keyword symbol (which is also prefixed by a colon (:), at least in some versions of Lisp). However, in Lisp a symbol has much greater functionality. For example, a Lisp symbol can also be bound to a value, a property list, or a function. In briefest, my understanding of symbol in Ruby is that it is an interned string used as a name ("interned" meaning that it is entered into memory as a single, atomic entity, a monad - there is just one of it, with a single pointer to it).