From: Benoit Daloze Date: 2010-01-27T04:41:57+09:00 Subject: Re: Find the parameters of each method in a class In Ruby 1.9.2: irb(main):001:0> class C irb(main):002:1> def meth(a,bb, ccc = nil, &b) irb(main):003:2> end irb(main):004:1> end => nil irb(main):005:0> C.instance_method(:meth).parameters => [[:req, :a], [:req, :bb], [:opt, :ccc], [:block, :b]] But you will not get the names for C methods like String#tr, just the type of the parameters. 2010/1/26 Jason Roelofs : > You can find the arity of said methods, but afaik not the names of the > parameters: > > CoolClass.instance_method(:method_one).arity # => 2 > CoolClass.instance_method(:method_two).arity # => 3 > > Jason > > On Tue, Jan 26, 2010 at 1:51 PM, Chris Gunnels wrote: > >> Is there a way to find the parameters of each method in a class? For >> instance I have a class like: >> >> class CoolClass >>  def meth_one(p1,p2) >>  ... >>  end >> >>  def meth_two(p1,p2,p3) >>  ... >>  end >> end >> >> I can run: >> cc = CoolClass.new >> cc.public_methods(false) >> >> and it will return an array of all the public methods >> (['meth_one','meth_two']). >> >> Is there a way to find the parameters of each method from the example >> above? >> -- >> Posted via http://www.ruby-forum.com/. >> >> >