2011-01-20 7 views
0

다음 논리가 어떤 역할을하는지 누가 알 수 있습니까?IF 문에 논리가 있음

if ((intOne and intTwo) = intThree) 

나는 음송 또는 intTwo 하나가 intThree 일치하는지 확인하는 느낌이 있어요,하지만 난 확실히 알고 싶습니다. 불행히도 구글은 고전적인 ASP에 관해서는 전혀 지원하지 않는 것 같습니다.

미리 감사드립니다.

+0

대부분의 언어에서 'and'연산의 결과를 'intThree'와 비교합니다. 논리적이면 1에서 true를, 0에서 false를 반환하면 C 에서처럼 1 또는 0을 'intThree'와 비교합니다. 파이썬에서와 같이 첫 번째 true 값이나 특별한 False 값을 반환하면 intOne이 0이 아니면'intOne'을, 그렇지 않으면'intTho'를'intThree'와 비교합니다. – nmichaels

+1

나는 약간 흐릿 해졌지만, 거대한 WTF라는 것을 기억합니다. 지금까지의 답변 중 어느 것도 올바르게 추측하지 못했습니다. – thirtydot

+0

True는 실제로 vbscript에서 -1입니다. – geoffspear

답변

6

MSDN 상당히 특이 :

오퍼레이터는 두 숫자 식의 동일 위치 비트의 비트의 비교를 수행하고, 상기 대응하는 비트를 설정 그리고
... (AND에 대한 진리표)

그래서 표현식은 처음 두 int를 비트 단위 AND 연산 한 다음 그 결과를 세 번째 int와 비교합니다.

다음은 비교를 위해 C에서와 동일한 평가입니다.

if((intOne & intTwo) == intThree) ... 
+0

+1, 답변입니다. – thirtydot

0

내가 구문이 정확하지만 논리 말을 생각하지 않는 경우 음송 다음 IntTwo 동일 intThree ...

if intOne = intThree and intTwo = intThree 
1

내 VBScript를 조금 녹슨이지만, 나는 추측 것 BOTH (intOne and intTwo) 섹션은 true으로 평가됩니다. 제 생각에는 단지가 존재하는지 확인하는 것뿐입니다. 당신은 내가 마찬가지로 지금까지

If intOne = intThree AND intTwo = intThree Then 
    ... 
End If 
1

할 것 intThree 동일해야 두 경우

If intOne = intThree OR intTwo = intThree Then 
    ... 
End If 

: 당신은 어느 쪽을 달성하거나하려면

, 그것은 아마 같을 것이다 알아요 .. vbscript의 'and'연산자는 부울 연산자입니다 .. 즉, intOne과 intTwo는 부울로 나타나는 표현식이나 값이어야합니다.

내가 생각 잘못된 구문 ...