제어구조


if

String.valid? string인지 체크

 


unless

is_intege 숫자인지 체크

 


case

여러 패턴에 대해 매치해야 한다면 case를 이용

일치하는 패턴이 없는 경우 에러발생

'_'는 "그 외의 모든 것"에 매치되는 else처럼 생각하면 된다. (case구문에서 '_'이 없다면 일치하는 패턴이 없을 때 오류 발생)

 

'_'사용

 

case는 패턴 매칭에 의존하기 때문에 같은 규칙과 제약이 모두 적용된다. 기존의 변수에 매치하고자 한다면 핀연산자를 사용해야한다.

 

when으로 점검기능이있다. x > 0 크면 "Will match"

 


Cond

값이 아닌 조건식에 매치해야 할 때 사용 (else if 기능)

Cond문 마찬가지로 예외처리가 없으면 에러를 발생하는데, true조건식으로 처리해준다.

 


with

중첩된 case구문이 쓰일만한 곳이나 깔끔하게 파이프 연산을 할 수 없는 상황에서 유용하다.

'<-'은 오른쪽을 왼쪽과 비교하기 위해 패턴매칭을 사용

매치 실패한 경우

 

'프로그래밍언어 > Elixir' 카테고리의 다른 글

Elixir) 예제 연습_패턴 매칭  (0) 2019.08.22
(Elixir)로 JSON API 서버 만들기  (0) 2019.08.21
Elixir) 예제 연습 Enum  (0) 2019.08.21

+ Recent posts