>>>>> "D" == Dave Thomas <Dave / PragmaticProgrammer.com> writes:

D> Well, it cheats. The string class names are associated with classes
D> when they're first attached to a constant.

 This is a little more complex (this is just to give  some troubles :-)))

pigeon% cat b.rb
#!/usr/bin/ruby
a = Class.new
p a.name
AB = a
p a.name if ARGV.size == 0
CC = a
p a.name
pigeon% 

pigeon% b.rb
""
"AB"
"AB"
pigeon% 

pigeon% b.rb 1
""
"CC"
pigeon% 


Guy Decoux