srand -> Integer
[permalink][rdoc]srand(seed) -> Integer
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
seed に整数を指定するとその絶対値を乱数の種に設定します。それ以外の値を指定した場合は seed.to_int が指定されたものとして扱います。 seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。
seed が省略された時には現在の時刻やプロセス ID、srand を呼び出した回数、また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。
num = 455675 seeds = [] srand(num) p rand(6) #=> 3 p rand(6) #=> 0 p rand(0) #=> 0.445804380918972 p rand(0) #=> 0.422248634121701 seeds << srand p rand(6) #=> 3 p rand(6) #=> 3 p rand(0) #=> 0.938911141393347 p rand(0) #=> 0.915824970865251 seeds << srand(num) p rand(6) #=> 3 p rand(6) #=> 0 p rand(0) #=> 0.445804380918972 p rand(0) #=> 0.422248634121701 seeds << srand p seeds #=> [455675, 2995620310703489221660585195204777696, 455675]
[SEE_ALSO] Kernel.#rand, Random::DEFAULT