ruby将分隔字符串数组转换为哈希

ruby将分隔字符串数组转换为哈希,ruby,arrays,string,parsing,hash,Ruby,Arrays,String,Parsing,Hash,我有一个数组 ["bob:12 elm st", "sally:100 digital ave", "tom:2324 elmhurst st"] 我需要转换成 {"bob" => "12 elm st", "sally" => "100 digital ave", "tom" => "2324 elmhurst st"}. 我知道我能行 array.each do |e| k = e.split(":").first v = e.split(":").last

我有一个数组

["bob:12 elm st", "sally:100 digital ave", "tom:2324 elmhurst st"] 
我需要转换成

{"bob" => "12 elm st", "sally" => "100 digital ave", "tom" => "2324 elmhurst st"}.
我知道我能行

array.each do |e|
  k = e.split(":").first
  v = e.split(":").last
  hash[k] = v
end

有没有更优雅的方法可以做到这一点?

散列[]
从数组构造散列

Hash[array.map {|el| el.split ':'}]

我相信ruby 2.1有一个.to_h方法

因此,

array.map { |i| i.split ':' }.to_h 
将起作用。

可能的副本