for문에 여러 개의 range를 세미콜론으로 구분해서 적어주면 for문을 중첩해서 사용한 것과 같은 효과입니다. 화면의 코드를 살펴보고 실행을 눌러 결과를 확인하세요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
object LearnScala {
    def main(args: Array[String]): Unit = {
        for( a<- 1 to 3){
            for( b <- 10 to 12){
                println(a,b)
            }
        }
        println("중첩된 for문 대신 아래와 같이 쓸 수 있습니다.")
        for( a <- 1 to 3; b <- 10 to 12){
            println(a,b)
        }
        
        
    }
}
cs


출력 (1,10)
(1,11)
(1,12)
(2,10)
(2,11)
(2,12)
(3,10)
(3,11)
(3,12)
중첩된 for문 대신 아래와 같이 쓸 수 있습니다.
(1,10)
(1,11)
(1,12)
(2,10)
(2,11)
(2,12)
(3,10)
(3,11)
(3,12)


'Scala' 카테고리의 다른 글

Part6 Collection) Array  (0) 2019.02.23
Part5 제어문) if문  (0) 2019.02.23
Part5 제어문) 반복문  (0) 2019.02.23
Part4 튜플) 여러 개 변수에 값 넣기  (0) 2019.02.23
Part4 튜플) 여러 개의 값 리턴  (0) 2019.02.23

스칼라는 while문, for문을 제공합니다.
++나 --는 제공하지 않으므로 += 1을 사용해야 합니다.

하지만 합을 구하는 가장 스칼라스러운 방법은 코드의 19번째 줄에 있는 방법입니다.
스칼라에서는 while문을 사용하는 대신에 이런 방법으로 대체할 수 있는 경우가 많습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
object LearnScala {
    def main(args: Array[String]): Unit = {
        // ① while문
        var i, sum = 0  
        while ( i < 10) {  
            sum += i  
            i+=1 
        }  
        println(s"① $sum")
        
        var j = 1;
        var fact =1;
        while(j <= 10){
            fact*=j
            j+=1
        }
        println(s"1~10 factorial: $fact")
        // ② for문
        sum = 0  
        for ( i <- 0 until 10) {  
            sum += i  
        }  
        println(s"② $sum")  
        
        //③ 가장 스칼라스럽게 합을 구하는 방법
        sum = (0 until 10).sum  
        println(s"③ $sum")
        
        sum = (0 until 10 by 2).sum
        println(s"④ $sum")
        println(0 until 10 by 2)
    }
}
cs


출력 ① 45
1~10 factorial: 3628800
② 45
③ 45
④ 20
Range 0 until 10 by 2


'Scala' 카테고리의 다른 글

Part5 제어문) if문  (0) 2019.02.23
Part5 제어문) 중첩 반복문  (0) 2019.02.23
Part4 튜플) 여러 개 변수에 값 넣기  (0) 2019.02.23
Part4 튜플) 여러 개의 값 리턴  (0) 2019.02.23
Part4 튜플) 튜플  (0) 2019.02.23

+ Recent posts