1

別のオブジェクト内からオブジェクトをインスタンス化していますが、「間違った数の引数 (2 対 1)」エラーが発生します。

これが私の初期化関数です(実際には何もありません)

class Handler::AtReply
    def initialize(stream, logger)
      # Actual operation for this handler goes here
    end
end

私はそれを呼んでいます:

def load_handlers
  @logger.log("Loading Handlers")
  StatusBot::Handler.constants.sort.each do |handler_name|
    puts handler_name
    @logger.log("Loading Handler: #{handler_name}")
handler = StatusBot::Handler.const_get(handler_name).new(@stream, @logger)
  end
end

オブジェクトのインスタンス化に関して何が間違っているのか、それを機能させるために何をする必要があるのか​​?

4

1 に答える 1

0

なぜ修正されたのか100%わかりませんが、独自の初期化を持つ各ハンドラーから、Handlerの「親」クラスから継承されたハンドラーに変更し、別の「load」メソッドを使用して自分の目的を実行しました。もともとやろうとしています。

于 2013-03-10T16:39:41.613 に答える