使用 ruby​​ 中的范围之间的种子生成随机数

Qwe*_*tie 4 ruby random

我试图让我的网站上的横幅图像每天更改一次。我可以看到 rubysrand​​ 可以让我输入一个日期数字,并在每次同一天调用时返回相同的结果,但这会返回一个非常长的数字。我还看到 rand 让我使用像 这样的范围rand(a..b)

有什么方法可以像使用 rand 一样使用 srand 和 range 吗?

pjs*_*pjs 6

您可以使用您喜欢的任何种子值创建特殊/指定的随机数生成器:

special = Random.new 42 # create a new instance of Random seeded with 42
20.times { p special.rand(5..10) } # generate 20 random ints in range 5 to 10
Run Code Online (Sandbox Code Playgroud)

您的special实例Random是独立的,kernel#rand除非您使用srand相同的种子值来初始化它。