조건

조건문 에서 Julia

7개의 연습 문제

조건문 소개

비교 연산자

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

컴파일러는 소괄호를 요구하지 않지만, 넣으면 가독성이 좋아질 수 있어요.

Julia에 match문이 있나요?

현재 기본 언어에는 match/case 구조가 없어요.

간단한 경우에는 if..elseif..else를 사용하는 게 좋아요.

Scala와 비슷한 정교한 패턴 매칭에는 Match.jl 패키지가 인기예요. 하지만 대부분의 서드파티 패키지와 마찬가지로, Match는 Exercism 테스트 러너에서 사용할 수 없어요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요

조건문 배우기

연습이 잠겨 있어요

조건문 개념을 연습하려면 연습 문제 5개를 더 잠금 해제해요