rand関数

広告

「rand」関数は乱数を生成して返します。

乱数を生成して返します。

パラメータ:
  EXPR  生成される乱数の最大値(※最大値は含みません)
戻り値:
  乱数

1番目の引数に生成される乱数の最大値を指定します。省略された場合は「1」が指定されたものとなります。

例えば1番目の引数に「10」が指定された場合は、0以上10未満の乱数が生成され返されます。生成される乱数は小数点を含む値です。

具体的には次のように記述します。

my $num = rand(10);

乱数は小数点を含む数値となりますので、整数値だけの乱数を作成するには「int」関数を使って次のように記述します。

my $num = int(rand(10));

なお、古いバージョンのPerlでは乱数のシードを作成するための「srand」関数の呼び出しを行っていましたが、現在のバージョンでは必要ありません。rand関数を実行する際に自動的にsrand関数が呼び出され適切なシードが設定されます。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test8-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $num;

$num = rand(10);
print "$num¥n";
$num = int(rand(10));
print "$num¥n";

上記を「test8-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

rand関数

実行される度に乱数が生成されています。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)