irb(main):091:0> a=1 => 1 irb(main):092:0> b=2 => 2 irb(main):093:0> a,b=b,a => [2, 1] irb(main):094:0> a=1 => 1 irb(main):095:0> b=2 => 2 irb(main):096:0> a, b = b, a = a, b => [2, 1, 2] <-- Why? What is the order for the assignments -- Posted via http://www.ruby-forum.com/.