title: Scala downwards or decreasing for loop?
body: <p>In Scala, you often use an iterator to do a <code>for</code> loop in an increasing order like:</p>
  
  <pre><code>for(i &lt;- 1 to 10){ code }
  </code></pre>
  
  <p>How would you do it so it goes from 10 to 1? I guess <code>10 to 1</code> gives an empty iterator (like usual range mathematics)?</p>
  
  <p>I made a Scala script which solves it by calling reverse on the iterator, but it's not nice in my opinion, is the following the way to go?</p>
  
  <pre><code>def nBeers(n:Int) = n match {
  
      case 0 =&gt; ("No more bottles of beer on the wall, no more bottles of beer." +
                 "\nGo to the store and buy some more, " +
                 "99 bottles of beer on the wall.\n")
  
      case _ =&gt; (n + " bottles of beer on the wall, " + n +
                 " bottles of beer.\n" +
                 "Take one down and pass it around, " +
                (if((n-1)==0)
                     "no more"
                 else
                     (n-1)) +
                     " bottles of beer on the wall.\n")
  }
  
  for(b &lt;- (0 to 99).reverse)
      println(nBeers(b))
  </code></pre>