有没有办法可以从变量组成类命名空间?
例如,假设我想捕获Foo::Bar::MyException
内的异常,但Bar
位于变量(a = :Bar
)中。
这会是Foo::@a::MyException
吗?
答案 0 :(得分:3)
是的,你可以这样做
Foo.const_get(@a)::MyException
答案 1 :(得分: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