0

100 個のアイテムを持つハッシュを構築しています。また、0 から 100 までの 100 個のランダム値を生成する乱数ジェネレーターもあります。

番号 0..100 を連続して繰り返し処理し、それらをハッシュのキーに割り当てたいと思います。

次に、100 個の乱数を繰り返し処理し、それらをハッシュの値に割り当てます。

hash = {}
(0..100).each {|e| puts e} #just prints out the values
@numbers = 100.times.map{ 0+Random.rand(0..100)}

それが私がこれまでに得たものです。どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

6
h = {}
a = (1..100).to_a
100.times { |i| h[i+1] = a.delete_at(Random.rand(a.size)) }

または:

keys = (1..100).to_a
vals = keys.shuffle
hash = Hash[keys.zip(vals)]
于 2012-07-28T06:06:35.560 に答える
4
hash = {}
100.times {|n| hash[n]=rand(101)}

最初の行は空のハッシュを初期化します (上記で行ったように)。2 行目では、0 ~ 99 をキーとしてハッシュに割り当て、0 ~ 100 の間のランダムな値を割り当てます。

timesInteger クラスに属するメソッドです。ブロックを指定すると、連続する整数n回ごとに渡されます。

于 2012-07-28T06:05:16.133 に答える