IF~THEN~ELSE 구문의 축약형(?)

저도 우연찮게 알게되어 소개해보는 것인데, IDL에서 IF~THEN~ELSE 구문을 ? 연산자를 사용하여 축약된 형태로 표현할 수가 있습니다. 여기서 ? 오퍼레이터를 ternary(세개가 하나인) operator라고도 부릅니다. 예를 들어서 다음과 같은 경우입니다.

이 경우 y는 1이 됩니다. 그런데 이 IF~THEN~ELSE 구문을 ? 연산자를 사용하여 다음과 같이 표현할 수도 있습니다.

이 기능에 대해서는 IDL 도움말에서 “?”로 검색해보면 나옵니다. 설명을 보면 일반적인 형태가 다음과 같이 이루어진다고 나오는군요.

expr1 ? expr2 : expr3

여러분들도 한번 테스트해보시면 잘 된다는 것을 확인할 수 있을겁니다. 사실 이러한 ? 연산자의 기능이 IDL에 언제부터 존재했는지는 저도 확실히는 모릅니다. 그래도 좀 시간이 된 것 같습니다. 저만 몰랐던 것일 수도 있는데, 하여간 저는 좀 신기해서 글로 올려봤습니다. 이미 알고 계셨던 분들이라면 그냥 웃고 넘기시길 바랍니다 ㅎㅎㅎ