【问题标题】:ruby convert array of delimited strings into hashruby 将分隔字符串数组转换为哈希
【发布时间】:2014-07-01 10:46:33
【问题描述】:

我有一个数组

["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

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

【问题讨论】:

标签: ruby arrays string parsing hash


【解决方案1】:

Hash[] 从数组构造散列。

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

【讨论】:

    【解决方案2】:

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

    因此,

    array.map { |i| i.split ':' }.to_h 
    

    会起作用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-02
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2021-01-17
      相关资源
      最近更新 更多