# Newbie: assign values/array to variables

**URL:** <https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695>\
**Category:** Ruby\
**Created:** [May 9, 2007, 12:42pm UTC](https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695 "2007-05-09T12:42:13Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mark\_V](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e5b9ba/32.png) [@Mark\_V](https://www.ruby-forum.com/u/Mark_V)\
**Post date:** [May 9, 2007, 12:42pm UTC](https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695/1 "2007-05-09T12:42:13Z")

</div>

Hi,  
Thanks for all the fantastic work that has gone into ruby. Even  
though I am new it has proved to be very impressive.  
To my question.  
I’ve seen the following code:

@vara, @varb = “ab,ac,ad,ae”.split(",")

the way @vara and @varb were used makes me think the writer expected  
the following:

puts @vara.inspect # “ab”  
puts @varb.inspect # [“ac”, “ad”, “ae”]

However when I run this code I get

puts @vara.inspect # “ab”  
puts @varb.inspect # “ac”

Is there a way to achieve the writer seemed to have in mind?

Thanks in advance  
Mark

---

<div class="post-metadata">

**Author:** ![Mark\_V](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e5b9ba/32.png) [@Mark\_V](https://www.ruby-forum.com/u/Mark_V)\
**Post date:** [May 9, 2007, 12:56pm UTC](https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695/2 "2007-05-09T12:56:15Z")

</div>

Hi –

On Wed, 9 May 2007, Mark V wrote:

> puts @vara.inspect # “ab”  
> puts @varb.inspect # [“ac”, “ad”, “ae”]
> 
> However when I run this code I get
> 
> puts @vara.inspect # “ab”  
> puts @varb.inspect # “ac”
> 
> Is there a way to achieve the writer seemed to have in mind?

Yes:

@vara, \*@varb = “ab,ac,ad,ae”.split(",")

David

---

<div class="post-metadata">

**Author:** ![Mark\_V](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e5b9ba/32.png) [@Mark\_V](https://www.ruby-forum.com/u/Mark_V)\
**Post date:** [May 9, 2007, 12:58pm UTC](https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695/3 "2007-05-09T12:58:15Z")

</div>

On May 9, 2007, at 6:41 AM, Mark V wrote:

> puts @vara.inspect # “ab”  
> puts @varb.inspect # [“ac”, “ad”, “ae”]

@vara, \*@varb = “ab,ac,ad,ae”.split(",")

The asterisk (or ‘splat’) operator is the key.

Gary W.

---

<div class="post-metadata">

**Author:** ![Mark\_V](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e5b9ba/32.png) [@Mark\_V](https://www.ruby-forum.com/u/Mark_V)\
**Post date:** [May 9, 2007, 1:09pm UTC](https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695/4 "2007-05-09T13:09:16Z")

</div>

Thank you David and Gary!  
Regards  
Mark

---

<div class="post-metadata">

**Author:** ![Mark\_V](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e5b9ba/32.png) [@Mark\_V](https://www.ruby-forum.com/u/Mark_V)\
**Post date:** [May 9, 2007, 1:14pm UTC](https://www.ruby-forum.com/t/newbie-assign-values-array-to-variables/103695/5 "2007-05-09T13:14:17Z")

</div>

On Wed, May 09, 2007 at 07:41:05PM +0900, Mark V wrote:

> However when I run this code I get
> 
> puts @vara.inspect # “ab”  
> puts @varb.inspect # “ac”
> 
> Is there a way to achieve the writer seemed to have in mind?

@vara, \*@varb = “ab,ac,ad,ae”.split(",")
