12

我正在编写使用 Object.const_set 创建新类的 Ruby 代码,它非常适合创建新类和实例化它们的实例。但我希望这些新类继承自我已经硬编码的类。我找不到执行此操作的方法。这是我的代码:

def create_model_class(klass_name, klass_vars)
    klass = Object.const_set(klass_name, Class.new)
    klass.class_eval do
        define_method(:initialize)
            klass_vars.each_with_index do |name, i|
                instance_variable_set("@"+name[i], name[i])
            end
        end
    end
end
4

1 回答 1

23

Class.new接受一个参数,该参数将是超类。

文档:Class.new

于 2013-10-11T16:47:48.577 回答