如何生成介于0和n之间的随机数?


当前回答

你可以做rand(范围)

x = rand(1..5)

其他回答

别忘了先用srand()为RNG种子。

这个呢?

n = 3
(0..n).to_a.sample

可以使用rand方法生成随机数。传递给rand方法的参数应为整数或范围,并返回范围内的相应随机数:

rand(9)       # this generates a number between 0 to 8
rand(0 .. 9)  # this generates a number between 0 to 9
rand(1 .. 50) # this generates a number between 1 to 50
#rand(m .. n) # m is the start of the number range, n is the end of number range

您可以使用ruby rand方法,如下所示:

rand(n+1)

您需要使用n+1,因为rand方法返回任何大于或等于0但小于传递的参数值的随机数。

尝试array#shuffle方法进行随机化

array = (1..10).to_a
array.shuffle.first