Hi,

In message "Re: Array assignment with multiple args"
    on Thu, 15 May 2008 04:20:35 +0900, Jeff Hales <qbass69 / hotmail.com> writes:

|Hi all. I'm just starting to learn Ruby and have hit a problem that is
|being extremely difficult to find information on. When given a line of
|code such as:
|
|a = "this", b = "that", c = "those"
|
|Is there a concise and elegant way of describing why variable a is
|assigned as an array, but variable b is not? There must be a simple
|explanation as to 'why' this is happening. The only description of what
|is going on here that I have found is that this is interpreted as
|
|a = "this", (b = "that"), (c = "those")

More precisely, 

a = ("this", (b = "that"), (c = "those"))

But I am not sure what you wanted to accomplish by

 a = "this", b = "that", c = "those"

In Ruby, commas are not expression separator.

|and not
|
|a = "this", (b = "that", c = "those")
|
|and that the arguments are read from right to left. This hasn't really
|helped my understanding, as that much can be deduced just by putting the
|line through the Ruby interpreter, and I don't see how reading the
|assignments from right to left assigns ["this","that","those"] to
|variable a but only "that" to variable b.

Multiple assignment does not nest.  Assignments in right hand side is
considered as normal assignments.

							matz.