2013-05-14 36 views
8

我有一個包含數字作爲這樣一個哈希:紅寶石:如何哈希轉換成數組

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522} 

需要將其轉換成一個陣列,如:

[[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]] 

我想我的哈希值。值得我:

[0.07398921877505593, 0.07400253683443543, 0.07402917535044515] 

我試過了多種方法,但我剛開始學習ruby。

回答

15

試試這個:

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a 
#=> [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]] 
+0

是的,做到了!謝謝!! – user2376068

7

肯定使用哈希#to_a方法,這將產生你在尋找什麼。

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a 
=> [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]] 

散列值只會給你散列中每個元素的值,而散列#鍵只給你關鍵碼。幸運的是,to_a的默認行爲就是您要查找的內容。