如何在 Rails 中拆分散列中的键?

How do I split a key in hashes in Rails?

我想破解密钥,因为我想比较它们的值。 63以下代表id,其余为时间

[63, Thu, 14 Jul 2016 09:01:14 UTC +00:00]=>3.0

Ruby如果你提供足够的块参数,可以为你提取所有部分的key和value。

我假设你的散列存储在一个名为 hash.

的变量中

如果您只指定两个参数,Ruby会将键放在第一个,值放在第二个。

hash.each do |key, value|
  puts key # prints [63, Thu, 14 Jul 2016 09:01:14 UTC +00:00]
  puts value # prints 3.0
end

但是Ruby也可以为您扩展密钥。在您的密钥中,您有 2 个值。所以你需要在大括号中给出2个块参数:

hash.each do |(id, time), value|
  puts id # prints 63
  puts time # prints Thu, 14 Jul 2016 09:01:14 UTC +00:00
  puts value # prints 3.0
end

您可以为块参数指定任何您喜欢的名称。