I got the impression that when a method expects a Hash containing
certain keys, I can generally specify the keys using either Symbol or
String objects. So I tried this.

h = {}
h[:foo] = 19
h['foo'] = 20

and was surprised to see that those are treated as distinct entries in the Hash.

So how is it that I can sometimes choose whether I want to specify a
given key as either a Symbol or a String?

For example, when using Tk and w represents some widget, I think I can
say either

w.pack(:side => 'top')

or

w.pack('side' => 'top')

-- 
R. Mark Volkmann
Partner, Object Computing, Inc.