我正在使用一个名为 的哈希值my_hash :
{"2011-02-01 00:00:00+00"=>816, "2011-01-01 00:00:00+00"=>58, "2011-03-01 00:00:00+00"=>241}
首先,我尝试解析 中的所有键my_hash (这是时间)。
my_hash.keys.sort.each do |key|
parsed_keys << Date.parse(key).to_s
end
这给了我这个:
["2011-01-01", "2011-02-01", "2011-03-01"]
然后,我尝试映射 parsed_keys 回到 的 key my_hash :
Hash[my_hash.map {|k,v| [parsed_keys[k], v]}]
但这会返回以下错误:
TypeError: can't convert String into Integer
如何映射 parsed_keys 回到 的 key my_hash ?
我的目标是摆脱所有键末尾的“00:00:00+00”。
最佳答案
你为什么不这样做?
my_hash.map{|k,v| {k.gsub(" 00:00:00+00","") => v}}.reduce(:merge)
这给你
{"2011-02-01"=>816, "2011-01-01"=>58, "2011-03-01"=>241}
关于ruby-on-rails - 映射到散列的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505343/