Perl のrand関数で乱数を取得するメモです。
処理を毎回異なる時間で sleep させたい時に使ってますが、忘れがちなので自分用に残しておきます。
基本、rand() で乱数が取得できますけど、1 以上の 5 以下の整数値ってどうやって取るんだっけ ? という事でちょっと書いてみました。
#!/usr/bin/perl use strict; use warnings; print "引数なしの場合は 1 以下の数値がセットされる\n"; print "返り値は 0 - 4 の数値\n"; print "結果 = " . rand() . "\n\n"; print "任意の数値を渡す事もできる\n"; print "返り値は 0 - 4 の数値\n"; print "結果 = " . rand(5) . "\n\n"; print "整数のみを返したい場合は int 関数を使う\n"; print "返り値は 0 - 4 の整数\n"; print "結果 = " . int( rand 5 ) . "\n\n"; print "0 を返したくない時は +1\n"; print "返り値は 1 - 5 の整数\n"; print "結果 = " . (int( rand 5 ) + 1) . "\n\n"; exit;
実行結果。
# perl rand.pl 引数なしの場合は 1 以下の数値がセットされる 返り値は 0 - 4 の数値 結果 = 0.50640056592329 任意の数値を渡す事もできる 返り値は 0 - 4 の数値 結果 = 1.35087683609285 整数のみを返したい場合は int 関数を使う 返り値は 0 - 4 の整数 結果 = 0 0 を返したくない時は +1 返り値は 1 - 5 の整数 結果 = 3
こんな感じで簡単にできました。