If you google for “Array to Hash” then you will probably see this snippet close to the top of your search results, and it works pretty well too. However, since that snippet was posted, 6 years have passed, and with Ruby 1.9 it is a bit simpler now:
Ruby < 1.9:
a = [1, 2, 3].collect { |v| [v, v*2] } # => [ [1, 2], [2, 4], [3, 6] ]
Hash[*a.flatten] # => {1=>2, 2=>4, 3=>6}
Ruby 1.9:
a = [1, 2, 3].collect { |v| [v, v*2] } # => [ [1, 2], [2, 4], [3, 6] ]
Hash[a] # => {1=>2, 2=>4, 3=>6}
This is because Ruby 1.9 features a new form for Hash[ ]:
Hash[ [ [key, value], ... ] ] → new_hash