[Erlang] 패턴매칭과 가드

[원본 링크]

case of문
패턴매칭 구문이다.
표현식을 전달받고 해당하는 패턴의 반환식을 수행한다.
case** 표현식 of
**    패턴1 -> 반환식1;

**    패턴2 -> 반환식2;**
**    ...**
**    패턴N -> 반환식N;**
**    _ -> 반환식 **
end


image

image 잘 도는걸 볼수있다.
_는 와일드카드 패턴이라, 뭐든 들어갈 수 있다는 뜻이다.


가드 when
함수에다 조건을 거는 것이다.
같은 이름의 함수를 2개 이상 정의할 수 있다.
그리고 함수는 ;로 구분한다. image

image

이걸로 재귀를 구현하는것도 가능하다. image

image

case의 패턴에 추가 조건을 달 수도 있다. image

image

그렇다.


참조
https://www.tutorialspoint.com/erlang/erlang_case_statements.htm
https://www.tutorialspoint.com/erlang/erlang_guards.htm