불(논리) 연산
논리 부정 NOT (!)
논리 부정의 피연산자 (!) 는 산술 형식이어야 합니다. 피연산자 값이 FALSE(0)이면 TRUE(1)이고 피연산자가 FALSE(0)와 다르면 FALSE(0)의 결과가 나옵니다.
논리 연산 OR (||)
x와 y값의 논리 OR 연산 (||). x 또는 y 값이 true(null이 아님)이면 표현식 값은 TRUE(1)입니다. 그렇지 않으면 - FALSE (0).
if(x<0 || x>=max_bars) Print("out of range");
|
논리 연산 AND (&&)
x와 y값의 논리 연산 AND (&&). x 및 y 값이 null이 아닌 True이면 표현식 값은 TRUE(1)입니다. 그렇지 않으면 - FALSE (0).
부울 연산의 간략한 추정치
이른바 "간단 추정치"의 체계는 부울 연산에 적용됩니다. 즉, 식의 결과를 정확하게 추정할 수 있을 때 식의 계산이 종료됩니다.
//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 함수 |
//+------------------------------------------------------------------+
void OnStart()
{
//--- 간략한 추정의 첫 번째 예
if(func_false() && func_true())
{
Print("연산 &&: 이 표현은 볼 수 없을 것입니다");
}
else
{
Print("연산 &&: 첫 번째 식 결과가 거짓이므로 두 번째 식이 계산되지 않았습니다");
}
//--- 간략한 추정치의 두 번째 예
if(!func_false() || !func_true())
{
Print("연산 ||: 첫 번째 식 결과가 참이므로 두 번째 식이 계산되지 않았습니다");
}
else
{
Print("연산 ||: 이 연산을 볼 수 없을 것입니다");
}
}
//+------------------------------------------------------------------+
//| 이 함수는 항상 false를 반환합니다 |
//+------------------------------------------------------------------+
bool func_false()
{
Print("함수 func_false()");
return(false);
}
//+------------------------------------------------------------------+
//| 이 함수는 항상 true를 반환합니다 |
//+------------------------------------------------------------------+
bool func_true()
{
Print("함수 func_true()");
return(true);
}
|
더 보기
우선 순위 규칙