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

我正在尝试使用小于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 

我不明白我错过了什么。

你可以将范围传递给rand()

 Array.new(4) { rand(1...9) } 

我认为你过度复杂化了。

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

编辑:对于咯咯笑声我把这个function放在一起:

 def rand_array(x, max) x.times.map{ Random.rand(max) } end puts rand_array(5, 20) #=> [4, 13, 9, 19, 13] 

这就是我为一个包含10个元素的数组解决它的方法:

 n=10 my_array = Array.new(n) i = 0 loop do random_number = rand(n+1) my_array.push(random_number) i += 1 break if i >= n end for number in my_array puts number 

这是我为学校决赛所做的事情,数字不完全相同,但你可以改变数字等等:

 numbers_array = [] 10.times do numbers_array.push(rand(1..100)) end puts numbers_array