Rubyで乱数生成
Rubyの乱数生成メモです。
rand関数
Rubyで乱数生成をするにはrandメソッドを使います。
10.times do puts rand(1000) end
このプログラムは、0~999までの範囲の乱数を10回出力します。
ただ、この乱数は擬似乱数と呼ばれるものであり、乱数生成に使われる種(シード)を元に算出されている数になりますので、純粋にランダムな数が生成されているわけではないということに注意が必要です。
擬似乱数の偏りについて説明しだすと長くなりすぎるので詳細はWikipediaのほうを参照。
因みに、srandメソッドを使うことで乱数の種を明示的に与える事が可能です。
srand(3) 10.times do puts rand(1000) end
実行結果
874 664 249 643 952 968 256 789 659 714
種を指定した方のプログラムは何回実行しても同じ結果を返します。