将字符串数组的数组转换为字符串的散列并在Ruby中浮动?

Mil*_*der 3 ruby hash

我有以下数组数组.

>> gold_prices

=> [["2011-01-11", "134.91"], ["2011-01-10", "134.12"], 
   ["2011-01-07", "133.58"], ["2011-01-06", "133.83"]]
Run Code Online (Sandbox Code Playgroud)

将每个子数组转换为hash:string => float的最简洁方法是什么?

Gui*_*nal 7

>> gold_prices = Hash[gold_prices.map {|date, price| [date, price.to_f]}]

=> {"2011-01-11" => 134.91, "2011-01-10" => 134.12,
    "2011-01-07" => 133.58, "2011-01-06" => 133.83}
Run Code Online (Sandbox Code Playgroud)

  • @Milktrader`Hash.[]`还接受偶数个参数:`Hash [1,2,3,4]#=> {1 => 2,3 => 4}`._"C指针查找语法"_在Ruby中被称为"splat".这里它采用单个数组值并将它们作为单独的参数传递给方法.Ruby 1.8.7/1.9增加了这里答案中更方便的形式,现在它也可以采用一组双值数组. (2认同)