Short-circuit Evaluation
작성일
단락평가
var a = 1
var b = 1
func updateLeft() -> Bool {
a +=1
return true
}
func updateRight() -> Bool {
b += 1
return true
}
if updateLeft() || updateRight() {
// updateRight는 실행되지 않는다. -> 이미 결과값을 얻었기떄문.
}
a // 2
b // 1
다른예제를 보면,
var a = 1
var b = 1
func updateLeft() -> Bool {
a +=1
return falase
}
func updateRight() -> Bool {
b += 1
return true
}
if updateLeft() || updateRight() {
// updateLeft가 false라서 updateRight까지 실행된다
}
a // 2
b // 2