【发布时间】:2015-06-05 04:15:00
【问题描述】:
我定义了一个数组,比如@Array(1..31)。现在我有一个代码,我在其中随机选择一个数字一定次数并将结果存储在另一个数组中。下面的例子:
$a1 = $Array[rand(@Array)];
push (@a2, $a1);
现在,当我多次执行此脚本时,我发现新数组每次都包含非常不同的模式。但我不希望这样,我想在每次出现种子时都生成一个类似的模式。
有人可以帮我看看如何合并种子以从数组中随机选择可预测的元素。?
【问题讨论】:
-
使用
srand。 -
我尝试了 srand,但它给出了一个错误:深度递归例程
-
Edit 你的问题显示你使用的代码和你得到的错误。
-
我去掉了递归子程序的调用,但现在只要我调用子程序创建一个随机数,它只会不断地从数组中选择一个数字。
-
请edit 您的问题显示您认为不起作用的代码。此外,
rand可以多次返回相同的值;你想要List::Util::shuffle。