삼항 연산자
Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 40번째.
삼항 연산자는 값을 반환하는 if/else 문에 대한 한 줄짜리 단축 표현입니다. 구문은 condition ? value_if_true : value_if_false입니다.
age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"
puts status # Eligible다음과 같이 작성하는 것과 같습니다:
status = if age >= 18
"Eligible"
else
"Not Eligible"
end두 분기 모두 짧은 값을 반환할 때는 삼항 연산자를 사용하세요. 어느 한쪽 분기라도 둘 이상의 표현식이 필요하다면, 실제 if/else 문으로 돌아가세요. 삼항 연산자에 너무 많은 내용을 담으면 가독성이 떨어집니다.
보간(interpolation)을 포함하여 다른 표현식 내부에서 직접 사용할 수 있습니다:
count = 1
puts "#{count} item#{count == 1 ? "" : "s"}" # 1개 항목
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}" # 5개 항목챌린지
쉬움입력에서 정수 n을 읽습니다. 삼항 연산자를 사용하여(if/else 블록 없이), 정확히 다음을 출력하세요:
<n> is <label>여기서 label은 다음과 같습니다:
n > 0일 때positiven < 0일 때negativen == 0일 때zero
힌트: 중첩된 삼항 연산자 condition ? a : (other_condition ? b : c)를 사용하세요.
입력 5에 대한 출력은 5 is positive입니다. 0에 대해서는 0 is zero입니다.
치트 시트
삼항 연산자는 한 줄로 작성하는 if/else 단축 표현입니다: condition ? value_if_true : value_if_false
age = 20
status = age >= 18 ? "Eligible" : "Not Eligible" # "Eligible"삼항 연산자는 중첩될 수 있으며 문자열 보간(string interpolation) 내에서 사용될 수 있습니다:
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}" # 5 items
# 중첩된 삼항 연산자
n = 3
label = n > 0 ? "positive" : (n < 0 ? "negative" : "zero")삼항 연산자는 짧고 단순한 분기에만 사용하세요. 분기에 여러 식이 필요한 경우에는 if/else를 사용하는 것이 좋습니다.
직접 해보기
n = gets.to_i
# TODO: 삼항 연산자를 사용하여 레이블을 만든 다음 puts 하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.