Raku의 and — 느슨한 우선순위의 AND 연산자
Raku의 and — 느슨한 우선순위의 AND 연산자
&&과 같은 일을 하지만 우선순위가 더 느슨한 AND 연산자가 있어요. 바로 and예요. 조건식을 읽기 좋게 이어 쓰면서도, 연산 우선순위 때문에 헷갈리기 쉬운 연산자라 주의해서 써야 해요.
동작 방식
infix &&와 같은 의미예요. 첫 번째로 False로 평가되는 피연산자를 돌려주고, 모두 참이면 마지막 피연산자를 돌려줘요. 역시 단락(short-circuit) 동작을 해요.
say 1 and 2 and 3; # OUTPUT: «3»
say 0 and 2 and 3; # OUTPUT: «0»
왜 '주의'인지
and는 &&보다 우선순위가 낮아요. 그래서 표현식을 쓸 때 의도와 다르게 묶이는 경우가 생길 수 있어요. Raku 공식 문서는 and를 잘못 쓰기 쉽다고 경고하면서, 관련 함정(trap)을 함께 안내해요. 우선순위 때문에 결과가 예상과 달라지는 상황이 흔하다는 뜻이에요.
우선순위가 헷갈리면 괄호를 쓰거나, 우선순위가 더 높은 &&를 쓰는 게 안전해요. 그래도 느슨한 연산자 계열이 필요할 때는 and의 우선순위 특성을 이해하고 쓰는 게 중요해요.