2013-05-14 12 views
8

Ich habe einen Hash, die Zahlen als solche enthält:Rubin: wie Hash in einem Array konvertieren

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

es muss in ein Array umgewandelt werden wie:

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

ich meine Hash versucht. Werte, die mich bekommen:

[0.07398921877505593, 0.07400253683443543, 0.07402917535044515] 

Ich habe mehrere Möglichkeiten ausprobiert, aber ich habe gerade begonnen, Ruby zu lernen.

Antwort

15

versuchen Sie dies:

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

yep das hat es getan !! Vielen Dank!! – user2376068

7

Bestimmt die Methode Hash # to_a verwenden, die genau das produzieren, was Sie suchen.

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

Hash # Werte werden nur die Werte der einzelnen Elemente in der Hash geben, während Hash # Tasten Sie nur die Schlüssel geben. Glücklicherweise ist das Standardverhalten von to_a das, wonach Sie suchen.

Verwandte Themen