i thought if it is

  a = b = c

due to associativity rule, then it is

  a = (b = c)

so (b = c) is evaluated first.  and then now it will be a =
(evaluated_value)

now how come when

  a = Array(1..100)

and to cut off the first 1/3 and last 1/3 of the array to get about 33
elements, shouldn't we use

  a[0..a.size/2] = a[a.size*2/3..-1] = nil

as after the last 1/3 is deleted, you got about 66 elements remaining
and we want the other half deleted, to get to 33 elements.  However, it
won't work and requires

  a[0..a.size/3] = a[a.size*2/3..-1] = nil

why is that?
-- 
Posted via http://www.ruby-forum.com/.