Unless 문
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 25번째.
루비는 무언가가 참이 아닌 경우에만 코드를 실행하고 싶을 때 조건을 표현하는 독특한 방식을 제공합니다. unless 문은 본질적으로 if의 반대입니다.
if를 사용하면 조건이 참(true)일 때 코드가 실행됩니다. unless를 사용하면 조건이 거짓(false)일 때 코드가 실행됩니다:
logged_in = false
unless logged_in
puts "Please log in to continue"
end이것은 if !logged_in을 작성하는 것과 동일하지만, unless가 종종 더 자연스럽게 읽힙니다. "해당 조건이 참이 아닌 한 이것을 실행하라"고 생각하세요.
unless를 else와 함께 사용할 수도 있습니다:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
end하지만 else 블록이 필요할 때는 if를 사용하는 것이 보통 더 명확합니다. unless 문은 대안적인 경로 없이 단순한 부정 조건만 있을 때 빛을 발합니다. 한눈에 코드를 더 읽기 쉽게 만드는 쪽을 선택하세요.
챌린지
쉬움다음과 같은 변수들이 제공됩니다:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false아래의 각 시나리오를 평가하기 위해 unless 문을 사용하세요. 조건이 거짓일 때(즉, unless 블록이 실행될 때)만 지정된 메시지를 출력하세요.
has_ticket이true가 아니면,"Please purchase a ticket"을 출력하세요.is_vip가true가 아니면,"VIP access required"를 출력하세요.items_in_cart가0보다 크지 않으면,"Your cart is empty"를 출력하세요.battery_level이20보다 크지 않으면,"Low battery warning"을 출력하세요.is_charging이true이거나battery_level이50보다 크지 않다면,"Please charge your device"를 출력하세요.
각 메시지는 별도의 줄에 표시되어야 합니다. unless 블록을 트리거하는 조건에 대해서만 메시지를 출력하세요.
치트 시트
unless 문은 조건이 거짓(false)일 때 코드를 실행하며, 이는 if와 반대되는 개념입니다:
logged_in = false
unless logged_in
puts "Please log in to continue"
end이것은 if !logged_in과 동일하지만, 종종 더 자연스럽게 읽힙니다.
unless를 else와 함께 사용할 수도 있습니다:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
end하지만 unless는 else 블록이 없는 단순한 부정 조건에 사용하는 것이 가장 좋습니다. 대안적인 경로(alternative path)가 필요한 경우에는 보통 if를 사용하는 것이 더 명확합니다.
직접 해보기
# 변수들이 이미 정의되어 있습니다
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false
# TODO: 아래에 코드를 작성하세요
# unless 문을 사용하여 각 조건을 확인하고 적절한 메시지를 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.