Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Kernel > srand

module function Kernel.#srand

srand -> Integer
srand(seed) -> Integer

Kernel.#rand の乱数の種を設定し、古い種を返します。

seed.to_i(引数の整数表現)を乱数の種に設定します。 seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。

初期値 seed が省略された時には 現在の時刻やプロセス ID、srand を呼び出した回数、 また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。

[PARAM] seed:
乱数の種となる数値を指定します。to_int メソッドにより整数に変換されます。 Bignum も指定可能です。
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, Object#to_int