>>>>> "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