AFAIK, There is no official way to get names of method parameters. But 
you can try this:

def m(a,b)
end

tracer = lambda do |*args|
   p eval("local_variables", args[4]) if args[0] == 'call'
end

set_trace_func tracer
m(1, 2)

Cheers,
Kent.

On Dec 11, 2004, at 1:47 PM, Stephen Kellett wrote:

> Hi folks,
>
> When my code is executing my trace_function set using set_trace_func 
> how
> do I get the parameter names of the function that is being traced? Say
> for example I had a function
>
>         def myFunc(firstName, secondName, age)
>                 do whatever 1
>                 do whatever 2
>                 do whatever 3
>         end
>
> and my trace function has been called for a line execution event for 
> "do
> whatever 2". I can get the filename and line number from the binding.
> How do I get the parameter names?
>
> I've spent all this afternoon trying to do this, examining the Ruby
> source, but can't work it out. Hope someone can help me, or tell me it
> can't be done :-(
>
> Stephen
> -- 
> Stephen Kellett
> Object Media Limited    http://www.objmedia.demon.co.uk
> RSI Information:        http://www.objmedia.demon.co.uk/rsi.html
>