使用生成器重写 randomNumbers()
我们的 randomNumbers()
函数可以重写以使用生成器。
<?php
function randomNumbers(int $length)
{
for ($i = 0; $i < $length; $i++) {
// yield tells the PHP interpreter that this value
// should be the one used in the current iteration.
yield mt_rand(1, 10);
}
}
foreach (randomNumbers(10) as $number) {
echo "$number\n";
}
使用生成器,我们不必构建从函数返回的整个随机数列表,从而导致使用的内存更少。