시리즈/OCaml

ocaml 문법

빅또리 2021. 3. 18. 11:52

🐫 문제 풀다가 새롭게 알게 된 문법 정리

 

 

입력

read_int ( )      

 

//입력 끝까지 한줄씩 읽어들여서 List로 만들어 반환   
let rec read_lines () =
    try let line = read_line () in
        int_of_string (line) :: read_lines()
    with
        End_of_file -> []

   

 

출력

print_newline ( )      : \n 출력

 

print_endline line     : 자바 println 같은 것. line의 타입은 반드시 string 

 

print_타입명  x         :  예를들면 print_int 5 

 

Printf.printf  "Hello : %d " 5 

 

 

 

반복문

여태까지 모르고 무조건 재귀로만 구현했었는데 반복문이 있긴 있었나보다

 

 

 

파일 로드

(1) 인터프리터에 로드

#use "logic.ml"

 

(2) 컴파일해서 사용하기

 

모듈처럼 사용할 logic.ml 파일을 컴파일한 logic.cmo를

ocaml 명령으로 실행하거나 ocamlc로 컴파일 할때 같이 적어주기 

ocamlc -c logic.ml                // 사용할 파일 컴파일해서 .cmo 로 만들기

ocaml logic.cmo test.ml           // ocaml 명령어로 실행  

ocamlc -o test test logic.cmo test.ml    // 혹은 컴파일하기

네임 스페이스를 제거하고 싶으면 test.ml 파일 위쪽에 이렇게 적어준다.

open Logic

그러면 예를들어 Logic.f 대신 그냥 f 로 적을 수 있다.