오보에블로그
9. [OCaml] 사용자 정의 타입 본문
728x90
1. 이미 있는 타입에 새로운 이름 붙이기
string 과 int와 같이 기존에 있는 타입에 새로 이름을 붙여준다.
type var = string
type var2 = int
1. 새로운 타입 만들기
type days = Mon | Tue | Wed | Thu | Fri | Sat | Sun;;
days라는 타입에는 Mon ; Tue ; Wed ; Thu ; Fri ; Sat ; Sun 로 총 7개의 원소들로 구성되어있다.
응용 예시로, 해당 요일의 다음 요일이 무엇인지 알려주는 함수를 구현해보자.
let nextday d =
match d with
| Mon -> Tue
| Tue -> Wed
| Wed -> Thu
| Thu -> Fri
| Fri -> Sat
| Sat -> Sun
| Sun -> Mon;;
val nextday : days -> days = <fun>
원소에 여러개의 타입을 지정하고 싶다면 * 를 사용하여 표현 할 수 있다.
type profile = Name of string
| BIRTH of int * int * int
| LENGTH of float
| SHOESSIZE of int * int ;;
다음과 같이 입력을 하면
Name ("OBO");;
BIRTH (1998,4,30);;
LENGTH (504.4);;
SHOESSIZE (245 , 250);;
아래와 같은 결과를 얻을 수 있다.
728x90
'Prev. > Lab' 카테고리의 다른 글
[Ocaml] z3 패키지 설치 (0) | 2020.01.29 |
---|---|
Ocaml/opam 패키지 설치 (how to install ocamlgraph/ batteries package) (0) | 2020.01.20 |
8. [OCaml] 최대공약수 구하기(GCD) (0) | 2019.07.02 |
7. OCaml의 자잘한 문법 (0) | 2019.02.04 |
6. OCaml 백준 9498 (0) | 2019.01.31 |