줄리아의 삼항연산자 ? :
개요
줄리아에서 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