我试图巧妙地确定性地选择随机的东西,并发现了这个:
irb(main):011:0> Random.new(Random.new(1).rand + 1).rand == Random.new(1).rand
=> true
irb(main):012:0> Random.new(Random.new(5).rand + 1).rand == Random.new(5).rand
=> false
irb(main):013:0> Random.new(Random.new(5).rand + 5).rand == Random.new(5).rand
=> true
有一秒钟,我想“哇,也许这是随机数生成器的属性”,但Python和C#无法重现这一点。
答案 0 :(得分:11)
你可能会对这个感到失望。我们来看看rand
:
irb(main):001:0> Random.rand
0.5739704645347423
这是[0,1]范围内的数字。 Random.new
接受整数种子。
irb(main):002:0> Random.new(5.5) == Random.new(5)
true
神秘解决了!