Perl有一个范围操作符,其在foreach
循环使用时,不创建临时数组:如果第一个整数是小于范围操作者递减从最大到最小:10..1
foreach (1 .. 1_000_000) {
# code
}
第二个整数,则没有迭代运行:
foreach (1_000_000 .. 1) {
# code here never runs
}
我可以使用reverse
内置的,但这样做不守创建一个临时数组的优化?
foreach (reverse 1 .. 1_000_000) {
# code
}
有没有一种方法可以像范围运算符一样减少数字而不是增加?
对于反向看到[这个答案](http://stackoverflow.com/a/18539244/728795)。总之,没有,使用反向范围时没有优化 – Andrei 2014-10-22 11:08:30
@Andrei:谢谢!我已经将我的问题标记为该问题的副本。 – Flimm 2014-10-22 11:14:30
我犹豫要做同样的事情,因为严格来说你的问题有点不同 – Andrei 2014-10-22 11:18:04