perlのsrand()とtime関数の使い方の紹介
perlではsrand()はrand()に乱数の種を提供し、rand()は乱数発生器を生成します。
rand()を最初に呼び出す前にsrand()を呼び出さない場合、srand()が自動的に呼び出されます。
srand()をシードと同じ数値で呼び出すと、同じ乱数列が生成されます。
例を挙げると、次のようになります。
srand(26);
$number1=rand(100);
print "$number1\n";
srand(26);
$number2=rand(100);
print "$number2\n";
得られた結果は以下の通りです。
F:\>perla.pl
0.3753662109375
0.3753662109375
2番目のスランドを取り除くと(26)、次のようになります。
srand(26);
$number1=rand(100);
print "$number1\n";
$number2=rand(100);
print "$number2\n";
得られた結果は以下の通りです。
F:\>perla.pl
0.3753662109375
76.397705078125
F:ⅯⅯⅯ
これによって、同じではない2つの値が生成されます。
添付の小さなプログラムは、20個の乱数値を出力するサブルーチンを利用したもので、srand(time|$$)を利用しています。これは、srandに新しい種を与えるたびに、得られる乱数が異なることを保証し、time関数内部でも、時間が異なるので、現在時刻を取得し、種は異なり、乱数は異なっています。
#! /usr/bin/perl
my $dna='AACCGTTAATGGGCATCGATGCTATGCGAGCT';
srand(time|$$);
for (my $i=0;$i<20;++$i)
{
print randomposition($dna), " ";
}
print "\n";
exit;
sub randomposition
{
my($string)=@_;
return int rand length $string;
}
に関する時間の各関数を説明します。
print "time()=".time(). "\n";# 1970年から現在までの秒数
print "localtime()=".localtime()."ⅷ";#現在の時刻
プリント "gmtime()=".gmtime(). "\n";# 標準グリニッジ標準時
出力は以下のようになります。
F:\>perla.pl
時間()=1350309421
ローカルタイム()=Mon Oct 15 21:57:01 2012
gmtime()=Mon Oct 15 13:57:01 2012
F:ⅯⅯⅯ
関連
-
ASPでimgタグのstyle属性を削除し、srcの正規関数だけを残す。
-
提案内容を改善するために、データベースを実行するaspプログラムの効率化
-
one.asp 複数のプロジェクト、関数ライブラリ、クラスライブラリを1つのバージョンのメソッドに統合
-
ASPでフォルダーの存在を検出し、存在しない場合は自動的に作成する方法
-
Perlの特殊な組み込み変数の詳細
-
Perlの単一行コメントと複数行コメントの紹介
-
スペースがセパレータである場合の perl qw 問題の解決法
-
重複するコンテンツ(重複する行+重複するフィールドの配列)を削除するための perl スクリプトコード
-
Perl 構文による Perl 演算子の使用法ガイド
-
perlの尖ったブラケット演算子(<>)について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Visual studio 2019 初心者向けサードパーティライブラリ追加チュートリアル(入門編)
-
ファイルが存在するかどうかを判断するasp関数
-
ASPでAdodbを経由して大容量ファイルをマルチスレッドでダウンロードするためのストリーム。
-
オンライン圧縮・解凍のためのASPコード
-
msxml3.dll Error 800c0019 システムエラー:-2146697191 解決策
-
asp(vbscript)のカスタム関数とデフォルトのパラメータコード
-
数字を漢数字(大文字の金額)に変換するASP機能
-
Perlのファイルハンドルの説明
-
Perl 変数の使い方を説明するための Perl 構文
-
perl変数$/の使用方法について説明します。コンテキストが行モードのとき、$/は行を区別するものを定義します。