我在一个模块中动态地创建一个类及其中的所有内容。
(除了班级的创作,我除了一切......)
在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'的类,并在那里创建对象..
是否可以将未实例化的类分配给变量,然后传递它?
答案 0 :(得分:0)
solotuion是将Class的名称作为常量返回.. **
eval("return #{titleString}")