3
可能性の重複:Scala For The Impatientを通じて作業中
Decreasing for loop in Scala?は、forループScalaでダウンカウント
が、私は次の演習に出くわしました:
Write a Scala equivalent for the Java loop for (int i = 10; i >= 0; i--) System.out.println(i);
それはかかりませんでした私は次の解決策を思い付くために長い時間を使います:
for (i <- 1 to 10 reverse) {
println(i)
}
しかし、これにより、これを行うコストについての理由をどのように判断するのか不思議です。 reverseメソッドはRangeのO(n)トラバーサルを行いますか?または、それを空想インデックス演算を行う何かで装飾しますか?これをより良くすることができる他の構造がありますか?複雑さについてのご質問によると
for (i <- 10 to 1 by -1) {
println(i)
}
:
は「によって-1 10 1」である必要があり、かなり一定であること。私は個人的に "(10 -1 by -1)foreach println"を好きです。 –
@GerdRiesselmannはい、訂正ありがとうございます –
私は 'reverse'の代わりに' by -1'を使用してこれを試しました。それが0回反復することを意味します。私は何が間違っているのだろうかと思います。 – pohl