我正在尝试使用小于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
我不明白我错过了什么。
答案 0 :(得分:40)
您可以将范围传递给rand()
Array.new(4) { rand(1...9) }
答案 1 :(得分:4)
我认为你过度复杂化了。
generated_numbers = 4.times.map{Random.rand(8) } #=> [4, 2, 6, 8]
编辑:对于咯咯笑声,我把这个功能放在一起:
def rand_array(x, max)
x.times.map{ Random.rand(max) }
end
puts rand_array(5, 20) #=> [4, 13, 9, 19, 13]
答案 2 :(得分:0)
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
答案 3 :(得分:0)
这是我为学校决赛所做的事情,数字并不完全相同,但你可以更改数字等等:
numbers_array = []
10.times do
numbers_array.push(rand(1..100))
end
puts numbers_array