# Deconstruction of Array Parameters by Functions

**URL:** <https://www.ruby-forum.com/t/deconstruction-of-array-parameters-by-functions/69673>\
**Category:** Ruby\
**Created:** [September 22, 2006, 9:16pm UTC](https://www.ruby-forum.com/t/deconstruction-of-array-parameters-by-functions/69673 "2006-09-22T21:16:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sickfaichezi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/bc8723/32.png) [@sickfaichezi](https://www.ruby-forum.com/u/sickfaichezi)\
**Post date:** [September 22, 2006, 9:16pm UTC](https://www.ruby-forum.com/t/deconstruction-of-array-parameters-by-functions/69673/1 "2006-09-22T21:16:20Z")

</div>

Hi,

I would like to pass arguments to a function that takes a variable  
number of arguments using an array.

For example:

my\_array = [1, 2, 3]

# Below should call my\_var\_arg\_function(1, 2, 3)

pass\_array\_as\_args(my\_var\_arg\_function, my\_array)

Is this possible in Ruby?

Thanks in advance…

---

<div class="post-metadata">

**Author:** ![sickfaichezi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/bc8723/32.png) [@sickfaichezi](https://www.ruby-forum.com/u/sickfaichezi)\
**Post date:** [September 22, 2006, 9:22pm UTC](https://www.ruby-forum.com/t/deconstruction-of-array-parameters-by-functions/69673/2 "2006-09-22T21:22:21Z")

</div>

sickfaichezi wrote:

> pass\_array\_as\_args(my\_var\_arg\_function, my\_array)  
> my\_var\_arg\_function(\*my\_array)

It’s called the “splat” or “unary un-array” operator.

---

<div class="post-metadata">

**Author:** ![sickfaichezi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/bc8723/32.png) [@sickfaichezi](https://www.ruby-forum.com/u/sickfaichezi)\
**Post date:** [September 22, 2006, 9:22pm UTC](https://www.ruby-forum.com/t/deconstruction-of-array-parameters-by-functions/69673/3 "2006-09-22T21:22:21Z")

</div>

On 9/23/06, sickfaichezi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> pass\_array\_as\_args(my\_var\_arg\_function, my\_array)
> 
> Is this possible in Ruby?
> 
> Thanks in advance…

Something like this?

def three(arg1, arg2, arg3)  
puts “#{arg1}-#{arg2}-#{arg3}”  
end

args = [1,2,3]  
three(\*args)
