我与哈希工作的钥匙叫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映射回my_hash的键:
Hash[my_hash.map {|k,v| [parsed_keys[k], v]}]
但返回以下错误:
TypeError: can't convert String into Integer
如何将parsed_keys映射回的密钥my_hash?
我的目标是摆脱所有钥匙末尾的“00:00:00 + 00”。
的问题是方法'parsed_keys'是一个数组,'parsed_keys [k]'正在索引数组,所以Ruby期望你使用索引而不是String。如果你真的想让你的代码保持不变,那么'parsed_keys'也应该设置为''parsed_keys [key] = Date.parse(key).to_s'。 – MrDanA 2012-07-16 13:32:38
让我试试这个。非常感谢 ! – Myxtic 2012-07-16 13:40:26