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