如何使用随机数填充数组?

Lau*_*fan 18 ruby

我试图填充四个元素的数组,正整数小于9.

这是我的代码:

generated_number=Array.new(4)#create empty array of size 4
generated_number.each do |random| #for each position in the array create a random number
  random=rand(10)
end
puts generated_number
Run Code Online (Sandbox Code Playgroud)

我不明白我错过了什么.

fbo*_*tti 46

你可以通过一个范围 rand()

Array.new(4) { rand(1...9) }
Run Code Online (Sandbox Code Playgroud)

  • @ J-Dizzle Ruby Fiddle是一个沙盒环境.我的代码适用于任何普通的非沙盒Ruby环境. (2认同)

J-D*_*zle 5

我认为您已经使事情变得复杂了。

 generated_numbers = 4.times.map{Random.rand(8) } #=> [4, 2, 6, 8]
Run Code Online (Sandbox Code Playgroud)

编辑:对于傻笑我把这个功能放在一起:

def rand_array(x, max)
  x.times.map{ Random.rand(max) }
end

puts rand_array(5, 20) #=> [4, 13, 9, 19, 13]
Run Code Online (Sandbox Code Playgroud)

  • {{rand(8)}`就足够了。这是[Kernel#rand](http://www.ruby-doc.org/core-2.1.2/Kernel.html#method-i-rand):`method(:rand)#=>#<方法:对象(内核)#rand>`。 (2认同)