option
optional value
값이 있거나 없거나 둘 중 하나이다. 즉, None이거나 Some x이다.
option을 이용하면 값이 없을 경우에 발생하는 exception을 처리하지 않아도 된다.
option 타입이 값이 없을 때와 값이 있을 때 두 가지 경우를 반환을 하기 때문에 option 타입의 값을 사용할 때는 match with를 이용해서 값이 없을 경우와 있을 경우에 대해 처리해줘야 한다. (그렇지 않으면 error가 발생한다.)
숫자 0이 들어오면 None 값을 갖고 그 외의 숫자가 들어오면 Some 값을 갖는 코드를 작성해보면
위의 그림1처럼 match with를 사용하지 않으면 아래와 같은 오류가 발생한다.
이러한 오류를 피하기 위해서
위의 그림2처럼 match with를 사용하여 None일 경우와 Some일 경우를 처리해줘야 한다.
function
그림 1과 그림 2를 보면 option_value에서 function 키워드가 사용된 것을 볼 수 있다.
이 키워드는 인자로 하나를 받고 이를 이용해서 pattern match를 하겠다는 의미이다.
따라서 그림 2의 option_value는 아래의 그림과 같은 의미이다.
function 키워드를 사용해서 인자로 받는 것은 마지막에만 할 수 있다.
divide_print는 인자를 두 개 받아서 나누기를 하는 함수이다. 이때 두번째로 받는 인자가 0이라면 None 값을 갖고 그렇지 않으면 Some 값을 갖는다.
이 글은 제가 Ocaml을 공부하며 작성한 글로 정확하지 않은 부분이 있을 수 있습니다.
'Ocaml' 카테고리의 다른 글
OCaml의 struct와 sig (0) | 2021.09.02 |
---|---|
OCaml의 tree 1 (0) | 2021.08.31 |
OCaml의 print (0) | 2021.08.30 |
OCaml에서의 unit과 _ (0) | 2021.08.28 |
OCaml에서의 ! (0) | 2021.08.27 |
댓글