Ocmal 에는 여러 자료구조 형태를 지원하는 Batteries 패키지가 있습니다!
Batteries를 통해 Ocaml 에서도 스택, 집합(set), 테이블 등 여러 자료구조 이용이 가능합니다.
Batteries 설치
opam 이라는 패키지 매니저를 이용하여 쉽게 설치가 가능합니다.
$ opam install batteries
Batteries 사용법
사용하고자 하는 코드 상단에
open Batteries 를 추가해주시면
Batteries 내부의 모듈들이 사용이 가능합니다.
https://ocaml-batteries-team.github.io/batteries-included/hdoc2/
이 링크에 Ocaml batteries 패키지의 모듈들의 종류와 사용법이 자세하게 나와있습니다.
대표적인 예시를 들자면,
BatSet : 집합
BatStack : 스택
BatHashtbl : 해쉬테이블
BatHeap : 힙
등등
이외에도 생각 이상의 다양한 모듈들이 있더군요.
사용 예시
저는 BatSet을 예시로 들어 보여드리겠습니다.
{1} 이라는 mySet 을 만들어
원소 2 를 추가해 {1,2} 를 만들고
{2,3,4} 라는 targetSet 집합과 union(합집합) 작업을 한다고 치면,
아까 링크했던 레퍼런스 사이트에 가서, BatSet 자료형 모듈 사용법을 확인합니다.
모듈의 input, output 타입과 사용법에 대해 나와있습니다.
이런 식으로 필요한 모듈들을 타입에 맞게 잘 사용해주시면 됩니다.
예시 정답)
let mySet = BatSet.add 2 (Batset.singleton 1) in (* mySet = {1,2} *)
let result = BatSet.union mySet targetSet (* result= {1,2,3,4} *)
728x90
'기타 언어 > Ocaml' 카테고리의 다른 글
[Ocaml] Ocaml print / 출력 / print_endline / (0) | 2019.10.27 |
---|---|
[Ocaml] 모듈이란? / 모듈 사용법 / module (0) | 2019.10.07 |
[Ocaml] Type 선언 / Type 이란? (0) | 2019.10.02 |
[Ocaml] hd, tl 문 / 함수형 프로그래밍 (0) | 2019.09.28 |
[Ocaml] if 문 / if 표현식 / 함수형 프로그래밍 (0) | 2019.09.27 |
댓글