10

私はそのような数字を含むハッシュを持っています:

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

次のような配列に変換する必要があります。

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

私は私を得る私のhash.valuesを試しました:

[0.07398921877505593, 0.07400253683443543, 0.07402917535044515]

複数の方法を試しましたが、Ruby の学習を始めたばかりです。

4

2 に答える 2

20

これを試して:

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a
#=> [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]]
于 2013-05-14T20:15:16.513 に答える
7

間違いなく Hash#to_a メソッドを使用してください。これにより、探しているものが正確に生成されます。

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

Hash#values はハッシュの各要素の値のみを提供し、Hash#keys はキーのみを提供します。幸いなことに、to_a のデフォルトの動作は、探しているものです。

于 2013-05-14T20:17:39.283 に答える