Menu
Coddy logo textTech

중첩 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
end

Ruby는 첫 번째 조건을 확인합니다. 만약 그것이 거짓이면, 또 다른 if-else가 기다리고 있는 else 블록으로 이동합니다. 이것은 결정의 연쇄를 만들어내며, 각각의 결정은 가능성을 좁혀 나갑니다.

Ruby는 elseif를 하나의 키워드로 결합한 elsif를 사용하여 이를 작성하는 더 깔끔한 방법을 제공합니다:

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

두 예제 모두 동일한 결과를 생성하지만, elsif를 사용하면 코드를 더 평탄하게 유지하고 읽기 쉽게 만들 수 있습니다. 필요한 만큼 여러 개의 elsif 조건을 연결할 수 있으며, 마지막 else는 이전 조건들과 일치하지 않는 모든 경우를 처리합니다.

challenge icon

챌린지

쉬움

다음과 같은 변수가 제공됩니다:

temperature = 15

if, elsif, else를 사용하여 온도를 분류하고 적절한 메시지를 출력하는 기상 권고 시스템을 만드세요:

  • temperature30보다 크거나 같으면, Hot - Stay hydrated를 출력합니다
  • temperature20보다 크거나 같으면, Warm - Enjoy the day를 출력합니다
  • temperature10보다 크거나 같으면, Cool - Bring a jacket를 출력합니다
  • temperature0보다 크거나 같으면, 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
end

Ruby는 여러 조건을 연결하는 더 깔끔한 방법으로 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를 사용하여 적절한 기상 권고 메시지를 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨