主頁 > 知識庫 > perl中srand()與time的函數(shù)使用方法介紹

perl中srand()與time的函數(shù)使用方法介紹

熱門標簽:外呼電信系統(tǒng) 上海企業(yè)外呼系統(tǒng) okcc外呼系統(tǒng)怎么調(diào)速度 電話機器人哪里有賣 河南虛擬外呼系統(tǒng)公司 萬利達百貨商場地圖標注 熱門電銷機器人 智能機器人電銷神器 惠州龍門400電話要怎么申請

在perl中srand()提供供rand()使用的隨機數(shù)種子,rand()產(chǎn)生隨機數(shù)生成器。
如果在第一次調(diào)用rand()之前沒有調(diào)用srand(),那么系統(tǒng)會為你自動調(diào)用srand()。
使用同種子相同的數(shù)調(diào)用srand()會導致相同的隨機數(shù)序列被生成。

舉例如下:

復制代碼 代碼如下:

srand(26); 
$number1=rand(100); 
print "$number1\n"; 
srand(26); 
$number2=rand(100); 
print "$number2\n";

得到的結(jié)果如下:
F:\&;perl\a.pl 
0.3753662109375 
0.3753662109375

若果我們把第二個srand(26)去掉,如下:

復制代碼 代碼如下:

srand(26); 
$number1=rand(100); 
print "$number1\n"; 
$number2=rand(100); 
print "$number2\n";

得到的結(jié)果如下:
F:\&;perl\a.pl 
0.3753662109375 
76.397705078125 

F:\&;

這樣產(chǎn)生的兩個數(shù)值就不一樣了。

附帶一個小程序,利用了一個子程序,隨機輸出了20個隨機數(shù)值,在這里利用了,srand(time|$$),也就是每次都利給srand賦予新的種子,這樣就保證得到的隨機數(shù)就不一樣,同樣里面time函數(shù)獲取當前的時間,因為時間是不同的,所以種子就不同,我們得到的隨機數(shù)就不同。

復制代碼 代碼如下:

#!/usr/bin/perl
my $dna='AACCGTTAATGGGCATCGATGCTATGCGAGCT'; 
srand(time|$$); 
for (my $i=0;$i20;++$i) 

    print randomposition($dna), " "; 

print "\n"; 
exit; 

sub randomposition 

   my($string)=@_; 
   return int rand length $string; 
}

我們就time的各個函數(shù)做出說明:
print "time()=".time()."\n";#從1970年到現(xiàn)在的秒數(shù) 
print "localtime()=".localtime()."\n";#當前時間 
print "gmtime()=".gmtime()."\n";#標準格林威治時間

輸出結(jié)果如下:
F:\&;perl\a.pl 
time()=1350309421 
localtime()=Mon Oct 15 21:57:01 2012 
gmtime()=Mon Oct 15 13:57:01 2012 

F:\&;

標簽:綿陽 淮安 綏化 周口 合肥 百色 周口 秦皇島

巨人網(wǎng)絡(luò)通訊聲明:本文標題《perl中srand()與time的函數(shù)使用方法介紹》,本文關(guān)鍵詞  perl,中,srand,與,time,的,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《perl中srand()與time的函數(shù)使用方法介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于perl中srand()與time的函數(shù)使用方法介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章