How a little comma in ruby code can be a pain in the neck
Let assume that you transform a hash
{ :a => 1, :b => 2 }
into local variables somewhere in your code and forget to remove a little comma after one line
a = 1, b = 2
You still have a valid ruby code but it produces something unexpected!
a # => [1,2] b # => 2
Why? Because of the comma ruby uses multiple assignment operator to assign values. Let write the code into one line to clarify what happens here.
a = 1, b = 2 a = 1, (b = 2) a = 1, 2 a # => [1,2]
Next time you see an unexpected array, search for a comma!











