`c

`case`문 에서 Elixir

58개의 연습 문제

`case`문 소개

case는 주어진 값을 여러 패턴과 비교할 수 있게 해 주는 제어 흐름 구조예요. case 식의 절은 일치하는 것을 찾을 때까지 위에서 아래로 차례대로 평가돼요.

많은 경우에 case를 사용하는 것과 여러 함수 절을 정의하는 것은 서로 바꿔 쓸 수 있어요. case 절 안에서도 패턴 매칭과 가드를 사용할 수 있어요.

# one function clause, multiple case clauses
def age_group(age) do
  case age do
    0 -> ~c"infant"
    age when age < 4 -> ~c"baby"
    age when age < 13 -> ~c"child"
    age when age < 18 -> ~c"teenager"
    _ -> ~c"adult"
  end
end

# multiple function clauses, no case
def age_group(0), do: ~c"infant"
def age_group(age) when age < 4, do: ~c"baby"
def age_group(age) when age < 13, do: ~c"child"
def age_group(age) when age < 18, do: ~c"teenager"
def age_group(_), do: ~c"adult"

어느 쪽을 선택할지에 대한 엄격한 규칙은 없어요. 보통 상황에 따라 달라지는 개인적인 선호의 문제예요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요

`case`문 배우기

연습이 잠겨 있어요

`case`문 개념을 연습하려면 연습 문제 2개를 더 잠금 해제해요