2016-07-18 20 views
-1

我想打破关键,因为我想比较它们的值。 63以下代表id,休息是时间。如何在Rails中对散列中的键进行分割?

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

应该预期的输出是什么? – Navin

+0

我想从密钥 –

+0

@AasishSharma拿来的ID和时间比较什么,你能给我们更多的细节? –

回答

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 

你可以给块参数任意你喜欢的名字。

+1

尽管只有代码的答案是不被禁止的,但它们是*高度不推荐的*,因为如果问题的作者理解了发布的代码,他可能会想出类似的解决方案,因此不会要求帮帮我。请理解,诸如SO之类的问答网站的本质本质上是*学习和教学*社区,而不是群众采购网站的问题,因此,真正的答案*比单纯的*代码更有价值*。 – XenoRo

+0

我不得不去,所以我发布了这个快速片段。现在将编辑。 –

相关问题