가드

가드 에서 Elixir

53개의 연습 문제

가드 소개

가드는 패턴 매칭을 보완하는 용도로 사용해요. 가드를 사용하면 더 복잡한 검사를 할 수 있어요. 패턴 매칭을 사용할 수 있는 일부 상황에서 가드를 사용할 수 있지만, 모든 상황에서 그런 건 아니에요. 예를 들어 함수 절이나 case 절에서 사용할 수 있어요.

def empty?(list) when is_list(list) and length(list) == 0 do
  true
end
  • 가드는 when 키워드로 시작하고, 그 뒤에 불리언 표현식이 와요.

  • 가드 표현식은 다음과 같은 특별한 함수예요.

    • 순수해야 하고, 어떤 전역 상태도 변경해서는 안 돼요.
    • 엄격한 true 또는 false 값을 반환해야 해요.
  • 자주 쓰이는 가드 목록은 Elixir 문서에서 찾을 수 있어요. 여기에는 다음이 포함돼요.

  • defguard로 자신만의 가드를 정의할 수 있어요.

    • Elixir의 명명 규칙에 따르면, 가드 이름은 is_로 시작해야 해요.

      defmodule HTTP do
        defguard is_success(code) when code >= 200 and code < 300
      
        def handle_response(code) when is_success(code) do
          :ok
        end
      end
      
GitHub에서 편집 링크가 새 창이나 탭에서 열려요

가드 배우기

연습이 잠겨 있어요

가드 개념을 연습하려면 연습 문제 6개를 더 잠금 해제해요