Perlゼミ

  1. Perl
  2. モジュール
  3. here

Math::Random::MT - 自然乱数に近い擬似乱数を発生

擬似乱数を発生させるよいアルゴリズムにメルセンヌ・ツイスタ法というものがあります。

メルセンヌ・ツイスタ法によって擬似乱数を求めるモジュールがMath::Random::MTというモジュールです。CAPNから取得することができます。

use Math::Random::MT qw/rand srand/;

srand time^$$;
my $num = rand 100

Perlの標準モジュールであるrand関数srand関数と同じように使用することができます。Math::Randam::MTを使用するときは、srand関数を明示的に呼び出すようにします。

time関数は時刻、$$はプロセスIDで、srandに与える初期値がなるべくランダムになるようにしています。

サンプル

Math::Randam::MTを使ったサンプルです。

use strict;
use warnings;

use Math::Random::MT qw/rand srand/;

print "(1)よりランダムな乱数を発生させる。\n";
# できるだけランダムな初期値を与える。
srand time^$$;
for my $i (1 .. 20) {
  print "$i回目: " . int(rand 100) . "\n";
}
print "\n";
Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「こっ、こしゃくな。
このPerオタクめ~!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!