0

次のようなモジュール Vehicle を定義しました

module Vehicle
  def initialize(make, model)
  end

  def start
  end

  def stop
  end
end

Module#instance_methods と Module#instance_method を使用して Vehicle で定義されたインスタンス メソッドを検査したい

Vehicle.instance_methods.each do |method|
  Vehicle.instance_method(method).parameters
end

問題は Vehicle#instance_methods が [:start, :stop] しか返さないことです。初期化メソッドを検査するにはどうすればよいですか?

4

1 に答える 1

2

initializeプライベートであるため、パブリック インスタンス メソッドのリストには表示されません。

>> Vehicle.instance_methods
=> ["start", "stop"]
>> Vehicle.private_instance_methods
=> ["initialize"]

だから、あなたはただすることができます

Vehicle.instance_method("initialize").parameters
于 2012-08-26T18:43:40.033 に答える