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 に答える