less than 1 minute read

case val do
  200 -> true
  404 -> true
  _ -> false
end

case 문에서 200 이거나 404일 때, 검사를 한 번에 하려면 어떻게 하면 될까?

case val do
  n when n in [200, 400] -> true
  _ -> false
end
case val do
  n when n == 200 or n == 400 -> true
  _ -> false
end

when 키워드로 가드(guard)를 사용하면 된다. 다만 이걸 쓰기 위해서는 심볼을 바인딩하고 이 심볼을 when 으로 검사해야 한다. 위 코드에서 바인딩한 심볼이 n 이다. or 연산자를 써도 되고 in 연산자를 써도 된다.

참고