On 1/5/07, Jacob, Raymond A Jr <raymond.jacob / navy.mil> wrote: > > I create a small method > > def counting(p1,p2) > p1 = p1 + 1 > p2 = p2 + 2 > return p1,p2 > end A bit offtopic: you can shorten this to: def counting(p1,p2) p1 += 1 # x += y is the same as x = x + y p2 += 2 return p1,p2 end or or even def counting(p1,p2) return p1 + 1, p2 + 2 end > sum-by-1s=0 > sum-by-2s=0 > while line = gets > # need driver test the method > line=line.chop > sum-by-1s, sum-by-2s = counting(sum-by-1s,sum-by-2s) > end I don't think sum-by-1s is a good variable name. You can't use - in a name. It's reserved for minus. Names are made of A..Z, a..z, 0..9, @ and _. > The method works. I am using PickAxe as my reference. > I don't recall see any thing stating you could assign values in an array > to variables by separating the variables by commas on the leftside of > the > assignment statement. I just want to know which book or reference > should I use to > understand why assignments can be made in this way? > Or am I just seeing a side effect of my poor coding skills? This is normal. See the link below. It's used in block parameters as well i.e.: you can do [[1,2],[3,4]].each {|a| ... } or [[1,2],[3,4]].each {|a,b| ... } in the former case you'll get [1,2] and [3,4] for a, in the latter a=1,3 and b=2,4. http://ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html#UC