假设我有一个班级Set
我想要这样的东西,例如
class Set
def initialize(new_name)
self.class = new_name
end
end
如果您执行x = Set.new("Dog")
之类的操作,x.class
将返回Dog
而不是Set
。上面的课程也没有用!
答案 0 :(得分:3)
我明白了!这应该工作;)
class Obj
def initialize(name)
@klass = Object.const_set(name.capitalize, Class.new()).new()
end
end
试一试:
dog = Obj.new("dog")
dog.class #=> Dog
dog.class.name #=> "Dog"