用于生成两个数字之间的数字的函数

时间:2016-05-27 09:44:38

标签: ruby performance

我正在寻找一个输入数字并在两个数字之间返回一个数字的函数

 def generate_number input_number, max, min
 end

函数的输出应该是一个数字,取决于最小值和最大值之间的input_number

注意:每次它都应返回input_number

的相同输出

1 个答案:

答案 0 :(得分:2)

您正在寻找Random

Random.new(123).rand(1..10) #=> 3

123seed(您的 input_number ),110 min 最大值。

不同的种子产生不同的数字,相同的种子产生相同的数字。这在生成可重复的随机数序列时特别有用:

r = Random.new(123)
10.times.map { r.rand(1..10) }
#=> [3, 3, 7, 2, 4, 10, 7, 2, 1, 2]

r = Random.new(456)
10.times.map { r.rand(1..10) }
#=> [6, 10, 5, 6, 8, 2, 9, 4, 6, 3]

r = Random.new(123)
10.times.map { r.rand(1..10) }
#=> [3, 3, 7, 2, 4, 10, 7, 2, 1, 2]