2012년 10월 10일 수요일

Short-circuit evaluation

Short-circuit evaluation

몇몇 프로그래밍 언어에서는 Boolean 연산자가 조건식에 2개가 있을 때, 좌항의 조건이 충족되면 우항은 연산을 하지 않는데 이를 Short-circuit evaluation 이라고 한다.


Short-circuit은 단락[短絡]이라는 단어로, 고장 또는 과실에 의해서 전로(電路)에 의해서 선 사이가 전기저항이 작아진 상태 또는 전혀 없는 상태에서 접촉한 이상상태를 뜻한다.

Short-circuit에서 어떻게 이 개념을 찾아내야 할지 대략 난감하기는 한데;;
왠지 내 추측으로는 단락이라는 말 자체가 음전하가 흐르는 전로와 양전하가 흐르는 전로가 서로에게 영향을 끼치는 상태에서 본따서 좌항의 조건이 충족하면 우항도 충족했다고 보지 않을까 하는 이상한 해석이 -_-

if (a && myfunc(b)) {
    do_something();
}

좌항이 false 이기 때문에 myfunc(b)는 호출하지도 않고 if 문을 빠져나가는 것이다.