[ruby] 루비에서`not`과`!`의 차이점

나는 어딘가에서 읽은 것을 기억 not하고 !다르게 평가되며 문서에서 찾을 수 없습니다. 동의어입니까?



답변

거의 동의어이지만 정답은 아닙니다. 다른 점이다 !보다 높은 우선 순위가 not더 원한다면, &&그리고 ||보다 높은 우선 순위로되어 and하고 or.

!모든 연산자의 우선 순위가 가장 높고 가장 not낮은 연산자 중 하나 는 Ruby 문서에서 전체 테이블을 찾을 수 있습니다 .

예를 들어 다음을 고려하십시오.

!true && false
=> false

not true && false
=> true

첫 번째 예에서는 우선 순위 !가장 높 으므로 false && false.
두 번째 예에서는 not보다 우선 순위가 낮 true && false으므로 false에서 true && false으로 “전환” 되었습니다 true.

일반적인 지침은 !특별한 이유가없는 한 고수해야한다는 것 not입니다. !Ruby에서는 대부분의 다른 언어와 동일하게 작동하며 not.


답변

not연산자 를 이해하는 쉬운 방법 not true && false은 다음과 같은 것으로 보는 것입니다.!(true && false)


답변