これは perl では機能しません:最初for(10...0)
にチェックするため、基本的に一度もループしません10>0
。
減少する反復for
ループを作成するための代替の省略形はありますか?
for (reverse 0 .. 10) {
say $_;
}
reverse
関数を使用します。
残念ながら、これは範囲の評価をリストに強制するため、 を使用しないループよりも多くのメモリを使用しますreverse
。
for (map -$_,-10..0) { ... }
for (map 10-$_,0..10) { ... }
範囲の一部が負の場合、最初の部分は を使用するよりも短くなりreverse
ます。