Haskell #15(Case expressions)

--

이번 장에서는 많은 명령형 언어에도 존재하는 case 구문을 개선한 하스켈의 case 구문에 대해서 알아 보겠습니다.

Ref: Syntax in Functions-Case expressions

위 코드를 보면 알 수 있듯이 하스켈의 case문은 문법만 다를 뿐, 패턴매칭과 동일합니다.

case 구문의 위와 같은 형태로 사용됩니다. expressions은 첫번째 패턴부터 차례대로 매칭되고 적합한 패턴이 없으면 런타임 에러가 발생합니다.

패턴매칭이 함수의 파라메터를 매칭할때만 사용될 수 있는 반면에 case문은 많은 곳에서 사용이 가능합니다. 위 예제처럼 표현식의 중간에 들어가서 패턴매칭을 수행할 때 유용하게 사용될 수 있습니다.

만약 동일한 함수를 패턴 매칭을 이용하면 위와 같이 구현할 수 있습니다.

--

--