Julia의 비교 연산자는 다른 많은 언어와 비슷하지만, 수학을 좋아하는 사람을 위한 추가 옵션이 몇 가지 있어요.
같음을 비교하는 연산자는 ==(같음)와 != 또는 ≠(같지 않음)예요.
txt = "abc"
txt == "abc" # true
txt != "abc" # false
txt ≠ "abc" # false (synonym for !=)
그 밖에도 크거나 작음을 비교하는 여러 연산자가 있어요.
1 < 3 # true
3 > 3 # false
3 <= 3 # true
3 ≤ 3 # true (synonym for <=)
4 >= 3 # true
4 ≥ 3 # true (synonym for >=)
Julia에서 흔히 그렇듯이, 적절한 편집기를 쓰면 수학 기호를 쉽게 사용할 수 있어요. \ne, \le, \ge를 입력한 뒤 TAB을 누르면 ≠, ≤, ≥가 입력돼요.
앞의 예시에서는 숫자만 사용했지만, 교육 과정의 다른 부분에서 여러 가지 추가 타입에도 순서 개념이 있어 크거나 작음을 비교할 수 있다는 것을 보게 될 거예요.
비교 연산자는 연쇄해서 사용할 수 있어서, 명확하고 간결한 문법을 만들 수 있어요:
n = 3
1 ≤ n ≤ 5 # true (n "between" two limits)
앞의 예시는 1 ≤ n && n ≤ 5와 같은 표현이에요.
if로 분기하기다음은 if문의 전체 형태예요:
if conditional1
statements...
elseif conditional2
statements...
else
statements...
end
소괄호 ()나 중괄호 {}는 필요 없고, 들여쓰기는 가독성을 높이기 위한 것일 뿐이에요 (그런데 가독성은 정말 중요해요!)
elseif와 else는 모두 생략할 수 있고, elseif 블록은 여러 개 쓸 수 있어요. 하지만 end는 꼭 필요해요.
if문을 중첩할 수도 있지만, 소괄호와 들여쓰기, 주석을 잘 활용하면 가독성을 높일 수 있어요.
if문의 가장 짧은 형태는 다음과 같아요:
if n < 0
n = 0
end
다시 한번 강조하면, 조건으로 쓸 수 있는 것은 true나 false로 평가되는 표현뿐이에요. Julia는 'truthiness'라는 개념을 의도적으로 두지 않기 때문에, 0이나 빈 문자열, 빈 배열은 false와 같지 않아요.
조건에 따라 두 값 중 하나를 고르는 것은 흔하고 간단한 상황이에요.
Julia는 다른 많은 언어처럼 이런 코드를 더 간결하게 만들어 주는 삼항 연산자가 있어요.
문법은 conditional ? value_if_true : value_if_false예요.
그래서 앞의 예시는 이렇게 다시 쓸 수 있어요:
n = n < 0 ? 0 : n
컴파일러는 소괄호를 요구하지 않지만, 넣으면 가독성이 좋아질 수 있어요.
match문이 있나요?현재 기본 언어에는 match/case 구조가 없어요.
간단한 경우에는 if..elseif..else를 사용하는 게 좋아요.
Scala와 비슷한 정교한 패턴 매칭에는 Match.jl 패키지가 인기예요. 하지만 대부분의 서드파티 패키지와 마찬가지로, Match는 Exercism 테스트 러너에서 사용할 수 없어요.