2011-09-13 4 views
1
CaptchaIsExist CaptchaIsValid = Result 
-------------- -------------  -------- 
    true    false  = false 

    Any other variations    = true 

이제 이러한 결과를 얻는 방법을 작성하는 방법은 무엇입니까? 그것은 단순 해 보이지만 나는 충분하지 않다고 생각합니다.특정 부울 논리에 대한 도움이 필요합니다.

+0

결과 =! (CaptchaIsExist && (! CaptchaIsValid)); –

답변

4

대안 @Binary 걱정하는의에 솔루션 :

bool Result = CaptchaIsValid OR NOT CaptchaIsExist 

이것은 자연스럽게 논리를 표현한다고 생각합니다. 즉, 논리를 읽으면 의도 한 논리를 전달합니다.

+1

+1 이것은 가장 읽기 쉬운 한 줄 짜기입니다. –

+0

'CaptchaIsValid = true' 및'CaptchaIsExist = false' 일 때'true'가되지 않습니까, 아니면 뭔가 빠졌습니까? –

+0

captcha가 존재하지 않으면 유효성 검사가 실패 할 수 있습니다. 언어가 단락 평가를 사용한다고 가정 할 때 테스트 순서를 뒤집는 것이 더 좋습니다. –

1

아니요, 정말 간단합니다.

bool Result = not (CaptchaIsExist and not CaptchaIsValid) 
2

그냥 ... false에 대한 조건을 지정하고 그것에 not을 적용

not (CaptchaIsExist && not (CaptchaIsValid)) 
+1

+1은 결과를 유도하는 데 사용 된 방법을 설명합니다. – Heinzi

1
C 형태의 가상에서
(not CaptchaIsExist) or CaptchaIsValid 
0

:

if (CaptchaIsExist && !CaptchaIsValid) then 
    return false; 
else 
    return true; 
0
Boolean result = ((CaptchaIsExist && !CaptchaIsValid)) ? false: true; 
관련 문제