2016-07-18 25 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

我不得不去,所以我發佈了這個快速片段。現在將編輯。 –

相關問題