As David has shown you it is perfectly possible, but (although strings
are used quite often instead of symbols) I would be quite careful when
using mutable objects as hash keys. Look at this very simple example.
554/54 > cat hashkeys.rb && echo "--->" && ruby hashkeys.rb
h = {}

k = [1,2,3]
h[k]=[*1..3]

p h
k.pop
p h
p h[k]
--->
{[1, 2, 3]=>[1, 2, 3]}
{[1, 2]=>[1, 2, 3]}
nil

No big deal in the context but in a complex application you might get
bitten fast.
I would at least consider freezing the objects used as keys.



HTH
Robert

-- 
http://ruby-smalltalk.blogspot.com/

---
Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein