我想打破關鍵,因爲我想比較它們的值。 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和時間比較什麼,你能給我們更多的細節? –