2016-11-22 2 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 
Смежные вопросы