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
컴파일러가 괄호를 요구하지는 않지만, 괄호를 쓰면 가독성이 좋아질 수 있어요.
이 연습 문제에서는 자동차 공장 조립 라인의 생산을 분석하는 코드를 작성해요.
조립 라인의 속도는 0(꺼짐)부터 10(최대)까지 설정할 수 있어요.
가장 낮은 속도인 1에서는 매시간 221대의 자동차가 생산돼요.
생산량은 속도에 따라 선형적으로 늘어나요.
따라서 속도를 4로 설정하면 시간당 4 * 221 = 884대의 자동차를 생산해야 해요.
하지만 속도가 높아질수록 결함이 있는 자동차가 생산될 가능성도 커지고, 그런 자동차는 폐기해야 해요.
세 가지 과제가 있어요. 각 함수는 조립 라인의 속도에 해당하는 정수 매개변수 하나를 받아요.
success_rate() 메서드를 구현해서 주어진 속도에서 물품이 오류 없이 만들어질 확률을 계산해요.
다음 표는 속도가 성공률에 어떤 영향을 주는지 보여줘요:
0: 성공률 0%.1에서 4까지: 성공률 100%.5에서 8까지: 성공률 90%.9: 성공률 80%.10: 성공률 77%.julia> success_rate(10)
0.77
production_rate_per_hour() 메서드를 구현해서 성공률을 고려한 조립 라인의 시간당 생산량을 계산해요.
julia> production_rate_per_hour(6)
1193.4
반환되는 값은 실수라는 점에 유의해요.
working_items_per_minute() 메서드를 구현해서 분당 정상 작동하는 자동차가 몇 대 생산되는지 계산해요:
julia> working_items_per_minute(6)
19
반환되는 값은 정수라는 점에 유의해요. 미완성 제품은 포함되지 않아요.
Exercism에 가입하고 Julia 트랙을 개념 35개연습 문제 128개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.