【Ruby3.x】Random::srand()メソッドの使い方
srandメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
srandメソッドは、Rubyの組み込みクラスであるRandomクラスに属し、乱数生成器のシード(種)を設定するために実行するメソッドです。乱数とは予測できないランダムな数値のことですが、実際には計算によって生成されており、その計算の元となる初期値がシードと呼ばれます。このシードを設定することで、乱数生成器の振る舞いを制御できます。
引数を指定せずにsrandメソッドを呼び出した場合、システムは現在時刻などの情報に基づいて自動的にシードを再設定します。これにより、プログラムを実行するたびに異なる乱数列が生成され、より「ランダム」な結果を得ることができます。例えば、ゲームのキャラクターの動きや敵の出現パターンを毎回変えたい場合に有効です。
一方、整数を引数としてsrandメソッドに渡すと、その数値がシードとして設定されます。同じシード値を繰り返し設定した場合、生成される乱数の列は常に同じになります。この特性は、プログラムのデバッグやテストにおいて非常に重要です。例えば、バグが発生した際の乱数のシーケンスを再現したり、特定の乱数パターンがアプリケーションに与える影響を検証したりする際に役立ちます。
このメソッドは、以前に設定されていたシード値を戻り値として返します。このように、srandメソッドは、プログラムにおける乱数の再現性や予測不可能性を意図的に制御するための、基礎的かつ重要な機能を提供します。
構文(syntax)
1Random.srand(123) 2puts Random.rand(100)
引数(parameters)
seed
- seed: 乱数生成器のシード値を指定する整数。指定しない場合は、現在の時刻などのシステム状態から自動的に決定されます。
戻り値(return)
Integerまたはnil
乱数生成器のシード値を設定します。設定されたシード値が返されます。シード値がnilの場合はnilを返します。