-2

我有两个哈希maxmin包含相同的密钥

最大限度

{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}

分钟

{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,.......}

任何人都可以帮我解决这个问题,什么是有效的方法。必须迭代循环两次。

4

1 回答 1

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} 
于 2018-07-16T11:35:52.700 回答