> >> 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