访问在Module中创建的类

时间:2012-02-29 10:19:18

标签: ruby class object module

我在一个模块中动态地创建一个类及其中的所有内容。

(除了班级的创作,我除了一切......)

在test.rb'

module Model

    def generate(input)
        eval("
            class #{titleString};
                def initialize(#{attrStr});
                    #{instVar}
                end;

                #{attrMethString}; 

            end
        ")
    end
    extend self
end

然后我将模块加载到另一个ruby文件中,' create.rb'

require 'test.rb'

Person = Model.generate('sample.txt')

其中' sample.txt'保存创建课程的信息。

我可以"达到"并在' test.rb'中创建该类的实例,例如:

p = Person.new('Joe', 22, 178,'New kid')

当实例化类时,我可以将对象传递给' create.rb'

但我想做的是"达到"来自' create.rb'的类,并在那里创建对象..

是否可以将未实例化的类分配给变量,然后传递它?

1 个答案:

答案 0 :(得分:0)

solotuion是将Class的名称作为常量返回.. **

eval("return #{titleString}")