문제

현재 && 및 ||를 사용하고 있습니다 대신에 그리고 그것이 내가 가르친 방식이기 때문입니다. 그러나 대부분의 언어에서는 둘 다 유효한 구문입니다. 어떤 언어로든 하나 또는 다른 사람에게는 장점이 있습니까?

나는이 질문을 찾으려고 노력했지만 조금 어렵다. 내 입력을 올바르게 해석하지 않습니다.

도움이 되었습니까?

해결책

당신은“어떤 언어로든 다른 사람에게는 장점이 있습니까?”라고 묻습니다. 물론 이것은 프로그래밍 언어에 달려 있습니다.

둘 다 구현하는 언어 and 그리고 && (그리고 이에 따라 or 그리고 ||) 두 가지 방법 중 하나를 수행합니다.

  • 둘 다 정확히 같은 방식으로 행동합니다. 이 경우 언어가 다른 하나를 사용하는 데있어 제공되는 이점이 없습니다.

  • 각각은 다르게 행동합니다. 이 경우 장점은 하나 또는 다른 것을 사용하여 다른 동작을 얻을 수 있다는 것입니다.

그것은 모두 약간의 얼굴이 들리지만, 특정 언어에 대해 이야기하지 않고 얻을 수있는만큼 구체적입니다. 귀하의 질문은 명시 적으로 알고 싶어합니다 모두 언어이지만 언어 당 답변 해야하는 질문입니다.

다른 팁

Perl에는 4 개의 {&& ||가 모두 있습니다 또는} 그러나 그들은 그들의 우선 순위가 다릅니다. "및"및 "또는"실제로 우선 순위가 낮으므로 "복잡한 기능 또는 Die $!"와 같은 일을 할 수 있습니다! 그리고 당신은 실수로 "또는"당신이 원하지 않는 왼쪽에 무언가를 뿌려주지 않을 것입니다.

그것은 언어에 따라 다르지만 PHP에서는 && "및"를 사용하는 것에주의를 기울일 것입니다. 내가 자주 사용하는 것은 "&&"와 "||"입니다.

http://us3.php.net/manual/en/language.operators.logical.php

$g = true && false; // $g will be assigned to (true && false) which is false
$h = true and false; // $h will be assigned to true

일부 언어로 && 보다 높은 운영자가 우선 순위가 높습니다 AND.

두 가지 모두 잘 작동한다면, 정말 개인적 선호도라고 말합니다. 대부분의 경우 111000100010001000101001010 [실제 코드가 아니라 예제]와 같은 동일한 이진 코드로 컴파일됩니다.

&& = 동일한 키의 두 키 스트로크. 그리고 = 다른 키의 3 개의 키 스트로크.

어떤 언어를 사용하고 있는지 잘 모르겠지만 일부 언어는 일반 부울 연산자와 단락 연산자를 구분합니다. 예를 들어, 다음은 Matlab의 일반 부울 연산자입니다.

C = or(A,B);
C = A | B;  % Exactly the same as above

그러나 이것은 단락 연산자입니다.

C = A || B;

단락 구문은 첫 번째 인수를 평가 한 다음 값에 따라 두 번째 인수 평가를 중단 할 수 있습니다. 예를 들어, if 이미 사실입니다. 결과가 사실이되기 때문에 또는 작업에 대해 평가할 필요가 없습니다. 이것은 언제 도움이됩니다 비싼 계산이 포함 된 논리적 작업으로 대체됩니다.

여기에 있습니다 Wikipedia 링크 몇 언어에 대한 단락 연산자 및 구문에 대해 논의합니다.

우선 순위 문제가 없다면 가독성에 차이가 있다고 말할 것입니다. 다음을 고려하세요:

if (&x == &y && &y == &z) {
    // ..
}

#define AND &&
if (&x == &y AND &y == &z) {
    // ..
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top