행복감-단락 평가
조건을 테스트 할 때 if, elsif, until, 또는 while 사용 and 또는 or연산자, 단락 평가가 사용됩니다. 예를 들면-
if a < 0 and b > 0 then
-- block of code
end if
a <0이 거짓이면 Euphoria는 b가 0보다 큰지 테스트하지 않습니다. 전체 결과가 거짓이라는 것을 알고 있습니다. 비슷하게-
if a < 0 or b > 0 then
-- block of code
end if
a <0이 참이면 Euphoria는이 테스트의 결과가 무관하기 때문에 b의 값을 테스트하지 않고 결과가 참이라고 즉시 결정합니다.
일반적으로 다음과 같은 조건이있을 때마다-
A and B
A와 B가 두 표현이 될 수있는 경우 Euphoria는 A가 거짓 일 때 바로 가기를 사용하고 B 표현을 보지 않고도 전체 결과를 즉시 거짓으로 만듭니다.
마찬가지로 다음과 같은 조건이있을 때마다-
A or B
A가 참이면 Euphoria는 표현식 B의 평가를 건너 뛰고 결과가 참이라고 선언합니다.
Short-circuitand and 또는의 평가는 if, elsif, until 및 while 조건에 대해서만 발생합니다. 다른 컨텍스트에서는 사용되지 않습니다. 예를 들면-
x = 1 or {1,2,3,4,5} -- x should be set to {1,1,1,1,1}
여기서 단락이 사용 되었다면 x를 1로 설정하고 {1,2,3,4,5}를 보지 않아도됩니다. 이는 잘못된 것입니다.
따라서 if, elsif, until 또는 while 조건에서 단락을 사용할 수 있습니다. 결과가 참인지 거짓인지 만 신경을 써야하고 결과로 원자를 생성하는 데 조건이 필요하기 때문입니다.