2012-02-29 2 views
0

私はモジュール内で動的にクラスとそのすべてを作成しています。 「test.rb」でモジュールで作成されたアクセスクラス

(私はクラスの作成が、すべてを残している。)

module Model 

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

       #{attrMethString}; 

      end 
     ") 
    end 
    extend self 
end 

それから私が作成した「、別のルビー・ファイル内のモジュールをロード.rb '

require 'test.rb' 

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

ここで、「sample.txt」は、クラスを作成するための情報を保持します。

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

とクラスがインスタンス化されるとき、i「がcreate.rb」にオブジェクトを渡すことができます。

私は、次のような、「リーチ」と「test.rb」内のクラスからインスタンスを作成することができます

しかし、私が何をしたいのか、

は変数に非インスタンス化クラスを割り当てることは可能です..「create.rb」からクラスを「リーチ」、およびそこにオブジェクトを作成し、それを渡す?

+1

これが解決されている場合は、次のあなたの答えにチェックマークをクリックしてください。 –

答えて

0

solotuionは定数としてクラスの名前を返すようにした。.. **

eval("return #{titleString}") 
関連する問題