我有一个数组定义说@Array(1..31)
。现在我有一个代码,我随机选择一个数字一定次数,并将结果存储在另一个数组中。示例如下:
$a1 = $Array[rand(@Array)];
push (@a2, $a1);
现在,当我多次执行此脚本时,我发现新数组每次都包含非常不同的模式。但我不希望这样,我希望每次都能产生类似的模式 - 种子进入画面。
有人可以帮助我如何将种子合并到从阵列中随机选择可预测的元素。
答案 0 :(得分:0)
您不能将rand
替换为srand
:您使用srand
初始化rand
的种子:因此请调用srand(0)
一次,然后使用{{ 1}}和你一样。
根据您的评论,您可以使用:
rand
或者回到原始代码,只需添加第一行:
srand(0);
sub random {
my $random_select = $_[rand(@_)];
print " The random number selected is $random_select\n";
return $random_select;
}