2016-11-22 106 views
0

有没有一种方法可以从变量中编写类名称空间?从变量创建类名称空间

例如,假设我想捕获Foo::Bar::MyException内的异常,但Bar在变量(a = :Bar)中。

这是否就像Foo::@a::MyException

+0

你能提供一个例子吗?仅仅从这个问题就很难理解你所要求的。 –

回答

2

是的,你可以:

module A 
    module B 
    class C 
     def foo 
     "bar" 
     end 
    end 
    end 
end 

variable = "B" 
c_instance = Object.const_get("A::#{variable}::C").new 
puts c_instance.foo 
2

是的,你可以做到这一点

Foo.const_get(@a)::MyException