【Ruby3.x】Random::seed()メソッドの使い方
seedメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Randomクラスのseedメソッドは、Rubyプログラム内で利用される擬似乱数生成器の「種(seed)」を設定または取得するメソッドです。擬似乱数とは、完全にランダムではなく、ある初期値(種)から計算によって生成される数値の列のことで、同じ種を使えば、常に同じ乱数の並びが生成されるという特性を持ちます。
このseedメソッドは、主にKernel.#randなど、グローバルな乱数生成器が利用する種に影響を与えます。引数なしでRandom.seedを呼び出すと、システムは現在時刻などに基づいてランダムな新しい種を自動的に生成し、その種を現在の乱数生成器に設定します。そして、設定された新しい種の値が戻り値として返されます。
一方、整数値を引数としてRandom.seed(value)のように呼び出すと、指定した整数値が乱数生成器の種として設定されます。これにより、プログラムの実行ごとに同じ乱数列を再現することが可能となり、ゲームのシミュレーションの再現や、テスト、デバッグなど、再現性が求められる場面で役立ちます。
注意点として、Random.newで作成される個別のRandomオブジェクトは、それぞれ独立した乱数生成器であり、独自の種を持ちます。そのため、Random.seedメソッドはこれらの個別のRandomオブジェクトには影響を与えません。Random.seedは、プログラム全体で共有されるデフォルトの乱数生成器の動作を制御するために使用されます。
構文(syntax)
1Random.seed(obj)
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
指定された乱数生成器のシード値を返します。この値は、乱数生成の初期状態を決定するために使用されます。