> >> Would this work for you?
> >>
> >> def f(&cb)
> >> 	x=cb.call
> >> 	name = x[0]
> >> 	args = x[1..-1]
> >> 	send(name, *args);
> >> end
> 
> Why bother to split the name out of the array?  Just do:
> 
> send(*x)

Simply because in my application, (1) the name gets prepended 
a prefix before sending it, and (2) a few other arguments
are also put in the parameter list before sending. I didn't 
mention these details, because I thought at the time of writing
that they would only overly complicate the description of my
case.

> If you really wanted to separate the name from the rest of the args,  
> it might be more efficient (guessing, not benchmarked!) to say:
> 
> name = x.shift
> send(name, *x)

Thank you for this suggestion.

Ronald
-- 
Ronald Fischer <ronald.fischer / venyon.com>
Phone: +49-89-452133-162