我已经定义了一个模块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]。我如何检查初始化方法?
答案 0 :(得分:2)
initialize
未显示在公共实例方法列表中,因为它是私有的:
>> Vehicle.instance_methods
=> ["start", "stop"]
>> Vehicle.private_instance_methods
=> ["initialize"]
所以,你可以做到
Vehicle.instance_method("initialize").parameters