Perl利用函數(shù)rand()和srand()為隨機(jī)數(shù)(更確切的說是"偽隨機(jī)數(shù)")字符串的生成提供了基本的工具。這些函數(shù)不是利用加密來提供安 全性的,所以不要利用它們?yōu)槟憬鹑谛畔⒌募用堋5牵绻阈枰獮槟愕南乱粋€(gè)游戲或者動(dòng)態(tài)Web網(wǎng)站的新特性設(shè)計(jì)一個(gè)簡單的隨機(jī)數(shù)生成器,那么 rand()和srand()可能就是你所需要的。
函數(shù)rand()是真正的隨機(jī)數(shù)生成器,而srand()會(huì)設(shè)置供rand()使用的隨機(jī)數(shù)種子。函數(shù)rand()會(huì)返回一個(gè)處于0和你所指定的數(shù) 值(缺省為1)之間的分?jǐn)?shù)。如果你在第一次調(diào)用rand()之前沒有調(diào)用srand(),那么系統(tǒng)會(huì)為你自動(dòng)調(diào)用srand()。
要注意,使用同種子相同的數(shù)調(diào)用srand()會(huì)導(dǎo)致相同的隨機(jī)數(shù)序列被生成。這在有的時(shí)候很方便,尤其在游戲編程里,你可能想要重復(fù)讓隨機(jī)事件按照精確的相同序列出現(xiàn)。
像下面這樣使用rand():
print "Your lucky number for today is: " . int(rand(100) + 1) . " ";
指令:rand
語法:rand($interger)
說明:常和函數(shù)srand搭配來取得一隨機(jī)數(shù),如果沒有先宣告stand函數(shù)的話,則取出的常數(shù)值是一個(gè)固定值。這個(gè)語法會(huì)返回一個(gè)介于0和$interger之間的數(shù)值,如果$interger省略的話,則會(huì)返回一個(gè)介于0和1 的數(shù)值。
示例:
srand; #要先宣告srand函數(shù),才能產(chǎn)生隨機(jī)數(shù)的效果
$int=rand(10); #$int的值會(huì)大于0而且小于10如果希望產(chǎn)生的亂數(shù)是整數(shù)的話,就要再加上int #這個(gè)函數(shù)
$int=int(rand(10)); #$int的值是一個(gè)整數(shù),且值在0和9之間
――――――――
主站蜘蛛池模板:
宜兰市|
当涂县|
洛宁县|
南岸区|
错那县|
广宁县|
抚远县|
泽普县|
诸暨市|
西宁市|
会昌县|
嘉峪关市|
界首市|
井研县|
昌黎县|
镇赉县|
松江区|
深州市|
浮梁县|
东港市|
东乌珠穆沁旗|
治多县|
赤壁市|
广宗县|
安泽县|
长沙县|
临沧市|
绥中县|
阳城县|
阜阳市|
南丹县|
景东|
游戏|
大悟县|
兴城市|
昌吉市|
东台市|
曲麻莱县|
南和县|
新平|
平武县|