>>>>> "B" == Bryan Zarnett <bryan_zarnett / yahoo.ca> writes:

B> I am looking at doing something similar to Javas:

B> Class.forName("Foo").newInstance()

 When you define a class or a module, ruby define a constant. This mean
 that in your case you can write

  Module.const_get("Foo").new

 When a class is defined under another class you can write something like
 this 

pigeon% cat b.rb
#!/usr/bin/ruby
class Toto
   class Foo
      def initialize
         p "new Toto::Foo"
      end
   end
end
 
name = "Toto::Foo"
mod = Module
name.split(/::/).each {|m| mod = mod.const_get(m) }
mod.new
pigeon% 

pigeon% b.rb
"new Toto::Foo"
pigeon% 

 You can  also use #eval if you want


Guy Decoux