줄리아의 삼항연산자 ? :

줄리아의 삼항연산자 ? :

Ternary Operator in julia

개요

줄리아에서 A ? B : C는 이른바 삼항연산자Ternary Operator로써, A가 참이면 B, 거짓이면 C를 리턴하는 함수다. 수학적으로 이항연산이 함수로써 정의되듯, 삼항연산 역시 함수다. 조건문과 비슷하면서도 이러한 본질적 차이점이 있기 때문에 익숙해지면 아주 유용하게 쓸 수 있다. 다만 읽기 쉬운 코드와는 조금 멀어질 수 있기 때문에 억지로 남발할 필요는 없고, 반대로 마음에 안 들더라도 남들이 쓸 수 있기 때문에 어느정도는 익숙해져야한다.

코드

julia> x = iseven(2) ? "even" : "odd"; x
"even"

julia> y = iseven(3) ? "even" : "odd"; y
"odd"

위의 명령들은 보다시피 주어진 수가 짝수인지 아닌지에 따라 변수 x, y"even" 혹은 "odd"라는 문자열을 대입하고 있다.

julia> x * y
"evenodd"

조건문이 아니라 함수기 때문에 이렇게 편리한 코드를 쓸 수 있다. 같은 기능을 조건문으로만 하려고 하면 스코프Scope 등의 문제로 쓸데없이 길어질 수 있다.

전체 코드

x = iseven(2) ? "even" : "odd"; x
y = iseven(3) ? "even" : "odd"; y
x * y

환경

  • OS: Windows
  • julia: v1.6.3
댓글