work.log

元エンジニアの備忘録的ブログ

Perlのrand関数で乱数を取得するメモ

投稿:

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

こんな感じで簡単にできました。

おすすめのVPSサーバ

  • OSが選べる
  • VPS同士でLANが組める
  • 複数台構成向き

このブログで使っています。

  • 転送量が多いサービスに
  • 借りてるのは3年間一度もdown無し!

よく見られている記事

  • 本日
  • 週間
  • 月間