오보에블로그

1.Ocaml이란? 본문

Prev./Lab

1.Ocaml이란?

(OBO) 2019. 1. 12. 23:02
728x90

간단하게 Ocaml은 함수형 프로그래밍 언어이다.



OCaml의 주요 특징

1)값, , (Functionalprogramming)

2)정적 시스(Static type system)

3)(Automatic type inference)

4), (Datatypes and pattern matching)

5)(Polymorphism)

6)(Modules)

7)메모(Garbage Collection)



OCaml의 더 중요한 키워드는 '재귀'이다!


OCaml의 기본 구조

값 정의들의 나열:

let x1 = e1

let x2 = e2


식 e1,e2들 순차적으로 계산


인터프리터를 이용한 실행


$ eval $(opam env)

$ ocaml 을 치면

OCaml version 4.06.1


#

다음과 같이 나올것이다. # 뒤부터 원하는 식들을 바로 쓰거나,

# #use "filename.ml";; 을통해 파일을 실행할 수 있다.

조건식

if e1 then e2 else e3;;



함수식

fun x -> e



값에 이름 붙이기

let x = e1 in e2

함수식에 이름 붙이기

let square = fun x -> e;;
let add x y = e1;;


재귀함수 정의(rec)

let rec fact a =
if a = 1 then 1
else a * fact (a - 1);;


패턴 매칭(match)


let isabc c =
if c = a then true
else if c = b then true
else if c = c then true
else false

(*패턴 매칭 이용*)
let isabc c =
match c with
| a -> true
| b -> true
| c -> true
| _ -> false


튜플(tuple)

-순서가 있는 값의 묶음, 각 구성요소는 다른 타입을 가질 수 있다.

let x = (1, "one");;



리스트(lists)

-유한한 원소들의 나열, 순서가 중요. 리스트의 첫 원소를 head, 나머지를 tail 이라고 부른다.

[1;2;3;4;5];;


728x90

'Prev. > Lab' 카테고리의 다른 글

7. OCaml의 자잘한 문법  (0) 2019.02.04
6. OCaml 백준 9498  (0) 2019.01.31
5.Ocaml 입출력  (0) 2019.01.31
4. OCaml 모듈 실행  (0) 2019.01.31
0.Ocaml 설치(개발환경 만들기)  (0) 2019.01.12