From: Michael Hale Date: 2002-11-24T07:46:41+09:00 Subject: Re: find arguments... is this possible I noticed that many times I just hang on to the constuctor variables and use them later. This code allows me to do that automatically. class MyClass def initialize(first, second) local_variables.each { |each| eval("@#{each} = #{each}") } end def a_method p instance_variables.collect { |each| eval("#{each}") } end end MyClass.new('val1','val2').a_method Produces: ["val1", "val2"] -----Original Message----- From: dblack@candle.superlink.net [mailto:dblack@candle.superlink.net] Sent: Friday, November 22, 2002 3:08 PM To: ruby-talk ML Subject: Re: find arguments... is this possible Hi -- On Sat, 23 Nov 2002, Michael Hale wrote: > I want to get the names of the arguments that are passed into a > method. > > Example: > > def my_method(first, second, third) > puts > end > > my_method 1, 2, 3 > > Should output: > first > second > third > > Is there any way to do this? irb(main):021:0> def my_method(first,second,third) irb(main):022:1> puts local_variables irb(main):023:1> end nil irb(main):024:0> my_method(1,2,3) first second third (give or take hidden pitfalls, and of course the question I dare not ask, which is why one would want to do this :-) David -- David Alan Black home: dblack@candle.superlink.net work: blackdav@shu.edu Web: http://pirate.shu.edu/~blackdav