ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Scala 루프구문
    Scala 2014. 5. 28. 09:00
    반응형

    while 루프
    while 조건이 만족하는동안 루프를 순환

    object test {
    
      var a = 10                                      //]] > a  : Int = 10
     
      while(a <=15){
     
        println("a = ", a)
        a += 1;
      }                                               //]] > (a = ,10)
                                                      //| (a = ,11)
                                                      //| (a = ,12)
                                                      //| (a = ,13)
                                                      //| (a = ,14)
                                                      //| (a = ,15)
    }
    




    do, while 루프
    우선 {} 블럭으로 묶인 부분을 한번 실행한 후 while 조건이 만족하는동안 루프를 순환

    object test {
    
      var a = 10                                      //]] > a  : Int = 10
     
      do{
        println("a = ", a)
        a += 1;
      }while(a <=15)                                  //]] > (a = ,10)
                                                      //| (a = ,11)
                                                      //| (a = ,12)
                                                      //| (a = ,13)
                                                      //| (a = ,14)
                                                      //| (a = ,15)
    }
    



    for 루프

    object test {
    
      //증가
      for(i <- 1 to 3){
        println("i = ", i)                            //]] > (i = ,1)
                                                      //| (i = ,2)
                                                      //| (i = ,3)
      }
     
      //감소
      for(i <- 3 to 1 by -1 ){
        println("i = ", i)                            //]] > (i = ,3)
                                                      //| (i = ,2)
                                                      //| (i = ,1)
      }
     
      //리스트 원소 순환 
      val numList = List("one", "two", "three")       //]] > numList  : List[String] = List(one, two, three)
      for(a <- numList){
        println("a = ", a)                            //]] > (a = ,one)
                                                      //| (a = ,two)
                                                      //| (a = ,three)
      }
    }
    



    루프중단
    스칼라에서는 기본 break 구문이 없어서 다음처럼 Breaks 객체를 만들어서 루프를 break 해야 함.

    import scala.util.control._
    object test {
    
      var a = 10                                      //]] > a  : Int = 10
      var loop = new Breaks                           //]] > loop  : scala.util.control.Breaks = scala.util.control.Breaks@12dc6007
     
      loop.breakable{
      do{
        println("a = ", a)
        a += 1;
        if (a == 13)
          loop.break
      }while(a <=15)
      }                                               //]] > (a = ,10)
                                                      //| (a = ,11)
                                                      //| (a = ,12)
    }
    



    반응형

    'Scala' 카테고리의 다른 글

    Scala Class, Object(클래스, 오브젝트)  (0) 2014.06.02
    Scala 함수  (0) 2014.05.30
    Scala 조건문  (0) 2014.05.26
    Scala 연산자  (0) 2014.05.23
    Scala 기본문법  (0) 2014.05.21

    댓글

Designed by Tistory.