2012-08-26 69 views
0

我已经定义的模块的车辆,使得如何检查模块#初始化?

module Vehicle 
    def initialize(make, model) 
    end 

    def start 
    end 

    def stop 
    end 
end 

我想用模块#instance_methods和单元#instance_method像

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

的问题是只有车辆#instance_methods检查在车辆中定义的实例方法返回[:start,:stop]。我如何检查初始化方法?

回答

2

initialize不会在公共实例方法列表中显示出来,因为它是私有的:

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

所以,你可以做

Vehicle.instance_method("initialize").parameters