I had something like the following (though with more values):
h = OrderedHash.new() h[:a] = {:a => 1} h[:b] = {:b => 2}, # note the trailing comma - oops h[:c] = {:c => 3}
and started getting errors telling me that h[:b] was an array, when I was expecting it to be a hash...
Here's what's actually happening (via irb):
>> a = {:a => 1} => {:a=>1} >> b = {:b => 2}, ?> c = {:c => 3} # still part of the previous statement => [{:a=>1}, {:c=>3}] # so we end up with an array
Note to self: beware trailing commas
No comments:
Post a Comment