Scala에서는 반복자를 사용하여 for
다음과 같이 증가하는 순서 로 루프 를 수행하는 경우가 많습니다 .
for(i <- 1 to 10){ code }
10에서 1로 어떻게 하시겠습니까? 10 to 1
빈 반복자를 제공 한다고 생각 합니다 (일반적인 범위 수학처럼)?
반복자에서 reverse를 호출하여 문제를 해결하는 Scala 스크립트를 만들었지 만 내 의견으로는 좋지 않습니다. 다음 방법이 있습니까?
def nBeers(n:Int) = n match {
case 0 => ("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 _ => (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 <- (0 to 99).reverse)
println(nBeers(b))
until
대신 사용할 수 있다는 점도 지적해야to
했습니다. 왼쪽 끝점은 항상 포함됩니다.