Kotlin 으로 if not 구현하기
if 문을 통해서 조건을 확인하는 작업을 많이 하는데 조건을 만족하는 식이 false 일때 사용하는 몇가지 방법이 있을것 같습니다.
- 예를 들면
val condition: Boolean = false
if(condition.not()) {
exec()
}
or
if(!condition) {
exec()
}
이런식으로 표현이 가능할것 같은데요.
이렇게 작성을하면 코드에는 문제가 없지만 가독성 문제가 발생하게 됩니다.
표현식에서 condition을 왜곡하지 않고 그대로 표현하기 위해서 if not 의 형태가 있으면 좋을것 같아서 한번 구현해봤습니다.
fun ifNot(condition: Boolean, block: (() -> Unit)) {
if(condition.not()) {
block()
}
}
// 사용
val condition = false
ifNot(condition) {
println("success")
}
이런식으로 사용하게 되면 condition 을 건드릴 필요 없고 false 일때만 block 이 실행 되도록 처리가 가능합니다.
-> Code 보러가기