Эта строка:
a.each { |x| x = rand(10..100) }
не делает то, что вы думаете, что делает. Каждый не меняет исходный массив. Если вы хотите изменить исходные значения, вам нужна карта!
irb(main):025:0> a = Array.new(50)
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
irb(main):026:0> a.each { |x| x = rand(10..100) }
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
irb(main):027:0> a
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
irb(main):028:0> a.map { |x| x = rand(10..100) }
=> [67, 34, 96, 50, 52, 68, 14, 88, 67, 19, 83, 40, 35, 98, 88, 98, 39, 73, 41, 60, 25, 47, 33, 73, 20, 41, 32, 19, 65, 67, 47, 14, 11, 67, 32, 32, 13, 36, 23, 100, 14, 10, 73, 20, 59, 94, 54, 25, 57, 28]
irb(main):029:0>
a
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
a.map! { |x| x = rand(10..100) }
=> [97, 83, 52, 54, 22, 54, 39, 32, 42, 70, 84, 15, 69, 32, 28, 40, 50, 98, 66, 79, 25, 37, 97, 28, 30, 11, 98, 57, 73, 77, 99, 75, 72, 40, 67, 62, 87, 41, 58, 10, 88, 24, 98, 10, 31, 94, 53, 43, 98, 17]
irb(main):032:0> a
=> [97, 83, 52, 54, 22, 54, 39, 32, 42, 70, 84, 15, 69, 32, 28, 40, 50, 98, 66, 79, 25, 37, 97, 28, 30, 11, 98, 57, 73, 77, 99, 75, 72, 40, 67, 62, 87, 41, 58, 10, 88, 24, 98, 10, 31, 94, 53, 43, 98, 17]
irb(main):033:0>
Также предпочтительным способом сделать это является диапазон IMO.