반응형
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
}
}
반응형
'IT > Scala' 카테고리의 다른 글
var말고 val 쓰자!! (0) | 2019.08.06 |
---|---|
Scala란 무엇인가? (0) | 2018.11.05 |