api:http://ruby-doc.org/core-2.4.0/Kernel.html#method-i-srand
srand 1
a = [rand(100),rand(100),rand(100),rand(100),rand,rand]
srand 1
b = [rand(100),rand(100),rand(100),rand(100),rand,rand]
srand 1
c = [rand(100),rand(100),rand(100),rand(100),rand,rand]
puts a == b
puts a == c
上面的代码,最后会输出2次true
,即数组a、b、c是“相等”的。
- 当使用rand时,先检查是否用过srand指定随机种子,如果没有,则每次rand都会用一个不同的随机种子。如果用过srand指定随机种子,那么则会使用指定的随机种子来进行rand。
- 当第2次用srand指定相同的随机种子后,第N次的rand始终与第1次用srand后,第N次的rand的结果相同。