我想打破关键,因为我想比较它们的值。 63以下代表id,休息是时间。如何在Rails中对散列中的键进行分割?
[63, Thu, 14 Jul 2016 09:01:14 UTC +00:00]=>3.0
我想打破关键,因为我想比较它们的值。 63以下代表id,休息是时间。如何在Rails中对散列中的键进行分割?
[63, Thu, 14 Jul 2016 09:01:14 UTC +00:00]=>3.0
如果您提供足够的块参数,Ruby可以为您提取关键和值的所有部分。
我假设你的散列存储在一个名为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个值。所以你需要给出两个块参数,大括号:
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
你可以给块参数任意你喜欢的名字。
尽管只有代码的答案是不被禁止的,但它们是*高度不推荐的*,因为如果问题的作者理解了发布的代码,他可能会想出类似的解决方案,因此不会要求帮帮我。请理解,诸如SO之类的问答网站的本质本质上是*学习和教学*社区,而不是群众采购网站的问题,因此,真正的答案*比单纯的*代码更有价值*。 – XenoRo
我不得不去,所以我发布了这个快速片段。现在将编辑。 –
应该预期的输出是什么? – Navin
我想从密钥 –
@AasishSharma拿来的ID和时间比较什么,你能给我们更多的细节? –