From: Mark Volkmann Date: 2006-03-23T06:53:03+09:00 Subject: Re: Introspection of method parameters On 3/22/06, Keith Sader wrote: > Ok, I tried that and it gets me to where I am now, I can see the > methods for an object, but I can't tell if the method > > a.) takes a parameter > b.) if it takes a parameter the # of parameters it takes. Both can be answered using the arity method in the class Method. For example, how many parameters does the Math class method sin take? puts Math.method(:sin).arity outputs 1 How may parameters does the String instance method slice take? String.new.method(:slice).arity outputs -1 This is because slice takes a variable number of arguments. In this case the return value is -n-1 where n is the number of required arguments. So the number of required arguments is zero. But I don't think that's true. It looks to me like slice requires 1 argument! > On 3/22/06, David Ishmael wrote: > > Try this ... > > > > http://www.rubycentral.com/book/ospace.html > > > > -Dave > > > > > > > I'm trying to find out the number and name of a method's parameters. > > I've googled for 'ruby method parameter introspection' and come up > > with almost nothing. Is there a way to ask a method for the > > parameters it takes? > > > > Could this way also show me the method overloads? > > foo() > > foo(param1) > > foo(param1, param2) > > etc. > > > > thanks, > -- > Keith Sader > ksader@gmail.com > http://www.saderfamily.org/roller/page/ksader > > -- R. Mark Volkmann Object Computing, Inc.