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,即數(shù)組a、b、c是“相等”的。
- 當(dāng)使用rand時,先檢查是否用過srand指定隨機種子,如果沒有,則每次rand都會用一個不同的隨機種子。如果用過srand指定隨機種子,那么則會使用指定的隨機種子來進行rand。
- 當(dāng)?shù)?次用srand指定相同的隨機種子后,第N次的rand始終與第1次用srand后,第N次的rand的結(jié)果相同。