Jas*_*ael 1 ruby arrays string hash parsing
我有一个阵列
["bob:12 elm st", "sally:100 digital ave", "tom:2324 elmhurst st"]
Run Code Online (Sandbox Code Playgroud)
我需要转换为
{"bob" => "12 elm st", "sally" => "100 digital ave", "tom" => "2324 elmhurst st"}.
Run Code Online (Sandbox Code Playgroud)
我知道我能做到
array.each do |e|
k = e.split(":").first
v = e.split(":").last
hash[k] = v
end
Run Code Online (Sandbox Code Playgroud)
有没有更优雅的方式来做到这一点?
我相信ruby 2.1有一个.to_h方法.
为此,
array.map { |i| i.split ':' }.to_h
Run Code Online (Sandbox Code Playgroud)
将工作.