Array into list of arguments - nicest way?

hey all

I want to pass the contents of an array to a method, to be interpreted
as a standard list of arguments. What’s the simplest and nicest way of
doing this? (i can think of a few dirty hack ways but don’t want to use
them)

eg

#have
arr = [arg1, arg2, arg3]
#want
a_method(arg1, arg2, arg3)

Max W. [email protected] wrote:

#have
arr = [arg1, arg2, arg3]
#want
a_method(arg1, arg2, arg3)

a_method(*arr)

Regards,
Jan F.

On Mon, Feb 23, 2009 at 12:44 PM, Max W.
[email protected] wrote:

arr = [arg1, arg2, arg3]
#want
a_method(arg1, arg2, arg3)

Look for documentation, etc for the splat operator (there’s plenty out
there):

a_method (*arr)

Jesus.

Max W. wrote:

arr = [arg1, arg2, arg3]
#want
a_method(arg1, arg2, arg3)

Look up the splat operator, a.k.a. unary unarray:

a_method(*arr)

aha, that makes sense…

thanks a lot, everyone. I’ve used the splat before at the end of
parameter lists, eg

def a_method(a_thing, *args)

But i guess i didn’t really properly understand what it does. I can’t
find an explaanation in pickaxe, although it’s not the simplest thing to
look for in the index (there’s no listing for ‘splat’ and a lot of
listings for ‘*’).

Max W. wrote:

But i guess i didn’t really properly understand what it does. I can’t
find an explaanation in pickaxe, although it’s not the simplest thing to
look for in the index (there’s no listing for ‘splat’ and a lot of
listings for ‘*’).

http://www.ruby-doc.org/docs/ProgrammingRuby/

Click on the chapter “More about Methods”

Scroll down to the section headed “Expanding Arrays in Method Calls”

It could be indexed better :slight_smile:

Brian C. wrote:

Max W. wrote:

But i guess i didn’t really properly understand what it does. I can’t
find an explaanation in pickaxe, although it’s not the simplest thing to
look for in the index (there’s no listing for ‘splat’ and a lot of
listings for ‘*’).

Programming Ruby: The Pragmatic Programmer's Guide

Click on the chapter “More about Methods”

Scroll down to the section headed “Expanding Arrays in Method Calls”

It could be indexed better :slight_smile:

Cool. I’m using the paper version, it’s page 83 :slight_smile:

Thanks a lot.