case/when 표현식
다중 분기를 알아봅니다
case/when 표현식은(는) CoddyKit의 무료 Ruby Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ruby Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ruby Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
다중 분기
하나의 값을 여러 가능성과 비교할 때 긴 if/elsif 연쇄는 복잡해집니다. Ruby의 case 표현식을 사용하면 다중 분기를 깔끔하고 읽기 쉽게 작성할 수 있습니다.
day = "Mon"
case day
when "Sat", "Sun"
puts "Weekend"
else
puts "Weekday"
end기본 case / when
case 뒤의 값은 각 when과 순서대로 비교됩니다. 처음 일치하는 분기가 실행된 다음 제어가 end로 이동합니다.
grade = "B"
case grade
when "A"
puts "Excellent"
when "B"
puts "Good"
when "C"
puts "Okay"
endwhen 하나에 여러 값 사용하기
쉼표로 구분하여 하나의 when에 여러 값을 나열할 수 있습니다. 값 중 하나라도 일치하면 해당 분기가 실행됩니다.
char = "e"
case char
when "a", "e", "i", "o", "u"
puts "Vowel"
else
puts "Consonant"
endelse 분기
모든 경우를 처리하려면 else를 추가하십시오. 일치하는 항목이 없는 case에 else가 없으면 단순히 nil을 반환합니다.
code = 500
case code
when 200
puts "OK"
when 404
puts "Not Found"
else
puts "Other status"
endcase는 표현식입니다
if와 마찬가지로 case는 일치한 분기의 값을 반환하므로 결과를 바로 할당할 수 있습니다.
score = 82
letter = case
when score >= 90 then "A"
when score >= 80 then "B"
else "C"
end
puts letterthen 키워드
짧은 분기에서는 then을 사용하여 본문을 when과 같은 줄에 작성할 수 있습니다.
n = 3
case n
when 1 then puts "one"
when 2 then puts "two"
when 3 then puts "three"
end범위로 일치시키기
when에는 범위를 넣을 수 있습니다. Ruby는 내부적으로 === 연산자를 사용하며, 범위의 ===는 포함 여부를 확인합니다.
score = 73
case score
when 90..100 then puts "A"
when 70..89 then puts "B"
when 0..69 then puts "C"
end클래스로 일치시키기
Class === object는 객체가 해당 클래스의 인스턴스일 때 참이므로, 타입을 기준으로 분기할 수 있습니다.
value = 3.14
case value
when Integer then puts "an integer"
when Float then puts "a float"
when String then puts "a string"
end===의 마법
모든 when은 pattern === value를 호출합니다. 범위, 클래스, 정규 표현식은 모두 유용한 === 동작을 정의하므로 case가 매우 유연하게 작동합니다.
email = "jane@example.com"
case email
when /@/ then puts "Looks like an email"
else puts "No @ sign"
end대상 없는 case
case 뒤의 값을 생략하면 정돈된 if/elsif처럼 불리언 조건을 깔끔하게 연쇄할 수 있습니다.
temp = 5
case
when temp < 0 then puts "Freezing"
when temp < 15 then puts "Cold"
when temp < 25 then puts "Mild"
else puts "Warm"
end함께 적용하기
하나의 값이 결정을 좌우할 때는 case가 적합합니다. 각 분기가 별도의 불리언 확인일 때는 대상 없는 형식을 사용하십시오.
role = :admin
msg = case role
when :admin then "Full access"
when :editor then "Can edit"
when :viewer then "Read only"
else "No access"
end
puts msg빠른 확인
case/when에 대한 이해도를 확인하십시오.
복습
case 표현식을 배웠습니다.
when은 처음 일치하는 항목을 찾은 뒤end로 이동합니다.- 하나의
when에 여러 값을 나열할 수 있습니다. case는 값을 반환하며then을 지원합니다.when이===를 사용하기 때문에 범위, 클래스, 정규 표현식을 사용할 수 있습니다.- 대상 없는 형식은 깔끔한 불리언 연쇄입니다.
n = 42
kind = case
when n.zero? then "zero"
when n.positive? then "positive"
else "negative"
end
puts kind자주 묻는 질문
“case/when 표현식” 강의는 무료인가요?
네 — “case/when 표현식” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ruby Academy 강의 전체를 잠금 해제할 수 있습니다. Ruby Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“case/when 표현식”에서 뭘 배우나요?
다중 분기를 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 Ruby Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ruby Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ruby Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“case/when 표현식” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ruby Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ruby Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- if, unless, 삼항 연산자
- case/when 표현식
- Ruby의 참 같은 값
- 가드 절