본문 바로가기

만들어 봐요/Scala

1. Count 값 구하기 - var 말고 val 쓰자

2019/08/06 - [만들어 봐요/Scala] - var말고 val 쓰자!!

시리즈의 첫번째로 foreach 반복문 안에서 특정 조건에서의 카운트를 해야하는 경우에 대해 사용해보겠다.

val isRunAList: List[Boolean] = List(true, false, true, false)
var countCalledA = 0
isRunAList.foreach(isRunA => 
    isRunA match {
        case true => 
            A()
            count = count + 1
        case false => B()
    }
)

 

A함수가 몇 번 호출 되는지 횟수를 구하는 예제를 만들어 봤다. var를 사용하면 자바와 같이 count변수 값을 늘려가며 최종 결과 값을 얻을 수 있다. 하지만 val을 사용하면 우리는 증가되는 값을 다시 변수에 넣을 수가 없게 된다. 이럴 경우 foldLeft함수를 이용해서 우리가 원하는 값을 얻을 수가 있다.

val isRunAList: List[Boolean] = List(true, false, true, false)
val countCalledA = isRunAList.foldLeft(0){(count, isRunA) => 
    isRunA match {
        case true => 
            A()
            count + 1
        case false => B()
            count
    }
}
반응형

'만들어 봐요 > Scala' 카테고리의 다른 글

var말고 val 쓰자!!  (0) 2019.08.06
Scala란 무엇인가?  (0) 2018.11.05

태그