중첩 If - Else 문
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 24번째.
두 개 이상의 조건을 확인해야 한다면 어떻게 해야 할까요? 하나의 if-else 문 안에 또 다른 if-else 문을 넣을 수 있습니다. 이것을 중첩(nesting)이라고 하며, 이를 통해 여러 결정 지점을 처리할 수 있습니다.
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endRuby는 첫 번째 조건을 확인합니다. 만약 그것이 거짓이면, 또 다른 if-else가 기다리고 있는 else 블록으로 이동합니다. 이것은 결정의 연쇄를 만들어내며, 각각의 결정은 가능성을 좁혀 나갑니다.
Ruby는 else와 if를 하나의 키워드로 결합한 elsif를 사용하여 이를 작성하는 더 깔끔한 방법을 제공합니다:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
end두 예제 모두 동일한 결과를 생성하지만, elsif를 사용하면 코드를 더 평탄하게 유지하고 읽기 쉽게 만들 수 있습니다. 필요한 만큼 여러 개의 elsif 조건을 연결할 수 있으며, 마지막 else는 이전 조건들과 일치하지 않는 모든 경우를 처리합니다.
챌린지
쉬움다음과 같은 변수가 제공됩니다:
temperature = 15if, elsif, else를 사용하여 온도를 분류하고 적절한 메시지를 출력하는 기상 권고 시스템을 만드세요:
temperature가30보다 크거나 같으면,Hot - Stay hydrated를 출력합니다temperature가20보다 크거나 같으면,Warm - Enjoy the day를 출력합니다temperature가10보다 크거나 같으면,Cool - Bring a jacket를 출력합니다temperature가0보다 크거나 같으면,Cold - Bundle up를 출력합니다- 그렇지 않으면,
Freezing - Stay indoors를 출력합니다
온도에 해당하는 단일 메시지만 출력하세요.
치트 시트
여러 조건을 확인하기 위해 if-else 문을 서로 중첩할 수 있습니다:
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endRuby는 여러 조건을 연결하는 더 깔끔한 방법으로 elsif를 제공합니다:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
end필요한 만큼 elsif 조건을 연결할 수 있습니다. 마지막 else는 이전 조건과 일치하지 않는 모든 항목을 처리합니다.
직접 해보기
temperature = 15
# TODO: 온도를 분류하기 위해 아래에 코드를 작성하세요
# if, elsif, else를 사용하여 적절한 기상 권고 메시지를 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.