2012-08-26 116 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