Ruby on rails Rails从另外两个散列创建散列
我有两个哈希Ruby on rails Rails从另外两个散列创建散列,ruby-on-rails,ruby,ruby-hash,Ruby On Rails,Ruby,Ruby Hash,我有两个哈希max和min包含相同的键 马克斯 闵 我想创建第三个散列,用这两个散列在时间上的差异。像 差异 谁能帮我解决这个问题,什么是有效的方法。 必须重复循环两次。Input 解决方案 从max和min获取公共密钥,并计算时间差(以秒为单位) 为什么2018-05-24 20:15:11 UTC-2018-05-24 20:15:03 UTC=>9?@DennyMueller:这些都是时间,不是stringsyep my bad,就像10秒前一样在测试它。我最初假设op有json散列,而不
max
和min
包含相同的键
马克斯
闵
我想创建第三个散列,用这两个散列在时间上的差异。像
差异
谁能帮我解决这个问题,什么是有效的方法。
必须重复循环两次。Input
解决方案
从max
和min
获取公共密钥,并计算时间差(以秒为单位)
为什么
2018-05-24 20:15:11 UTC-2018-05-24 20:15:03 UTC
=>9
?@DennyMueller:这些都是时间,不是stringsyep my bad,就像10秒前一样在测试它。我最初假设op有json散列,而不是时间对象,你的解决方案看起来像是减去了字符串,我说“哇,你可以减去字符串”
{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,.......}
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.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}