Perl有一个范围操作符,当在foreach循环中使用时,它不会创建临时数组:
foreach (1 .. 1_000_000) {
# code
}如果第一个整数小于第二个整数,则不会运行任何迭代:
foreach (1_000_000 .. 1) {
# code here never runs
}我可以使用内置的reverse,但这会保持不创建临时数组的优化吗?
foreach (reverse 1 .. 1_000_000) {
# code
}有没有一种方法可以像范围运算符一样快速地减少数字,而不是增加数字?
发布于 2014-10-22 19:09:10
不好的解决方案,
for (my $i=1_000_000; $i >= 1; $i--) {
print "$i\n";
}https://stackoverflow.com/questions/26505835
复制相似问题