On Mar 13, 2009, at 8:06 AM, Marc Heiler wrote:

> Picture a small method which accepts one argument. Inside this  
> method is
> simply a case/when menu, nothing else. The question I now have  
> is ... -
> should the argument be coerced to string or symbol?
> case argument.to_sym
>   vs
> case argument.to_s


Hard to generalize but if you coerce to a string
you'll create a string that can be garbage collected.
If you coerce to symbol you create a new symbol that
can't be garbage collected.

If your argument is coming from some external source
(e.g. an HTML form) and isn't constrained in any way,
then coercing to a symbol will introduce a small
'memory leak' in your program every time the case
statement is executed.

Gary Wright