我有两个哈希max
和min
包含相同的密钥
最大
{22479=>2018-05-24 20:15:11 UTC, 15392=>2018-04-24 09:38:32 UTC, 16319=>2018-04-27 02:21:53 UTC, 24644=>2018-06-07 20:01:04 UTC, 21551=>2018-05-19 20:11:11 UTC, 17876=>2018-05-03 15:47:54 UTC, 22467=>2018-05-24 17:11:15 UTC}
min
{22479=>2018-05-24 20:15:03 UTC, 15392=>2018-04-24 09:38:15 UTC, 16319=>2018-04-27 02:21:53 UTC, 24644=>2018-06-07 19:59:23 UTC, 21551=>2018-05-19 20:11:04 UTC, 17876=>2018-05-03 15:47:54 UTC, 22467=>2018-05-24 17:11:15 UTC}
我想创建第三个哈希,其中两个哈希在时间上有所不同。喜欢,
差异
{22479=> 9, 15392=> 17,.......}
有人可以帮我这个忙吗? 是必须循环两次。
答案 0 :(得分:1)
max
=> {22479=>2018-05-24 20:15:11 UTC,
15392=>2018-04-24 09:38:32 UTC,
16319=>2018-04-27 02:21:53 UTC,
24644=>2018-06-07 20:01:04 UTC,
21551=>2018-05-19 20:11:11 UTC,
17876=>2018-05-03 15:47:54 UTC,
22467=>2018-05-24 17:11:15 UTC}
min
=> {22479=>2018-05-24 20:15:03 UTC,
15392=>2018-04-24 09:38:15 UTC,
16319=>2018-04-27 02:21:53 UTC,
24644=>2018-06-07 19:59:23 UTC,
21551=>2018-05-19 20:11:04 UTC,
17876=>2018-05-03 15:47:54 UTC,
22467=>2018-05-24 17:11:15 UTC}
从max
和min
中获取公用密钥,并计算时间差(以秒为单位)。
(max.keys & min.keys).each_with_object({}) do |k, out|
out[k] = (max[k] - min[k]).to_i
end
=> {22479=>8,
15392=>17,
16319=>0,
24644=>101,
21551=>7,
17876=>0,
22467=>0}