2016-11-22 6 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 
関連する問題