오보에블로그

7. OCaml의 자잘한 문법 본문

Prev./Lab

7. OCaml의 자잘한 문법

(OBO) 2019. 2. 4. 16:04
728x90

1. 그룹화

if 문에 여러 수식을 쓰고 싶을때 또는 if문에 수식을 쓰고싶지 않을때(?)  if 문 에 속해있는 수식인지를 표시해주어야한다.

ex ) a 가 89보다 작으면, happy 와 not happy 문장 두개를 출력하고, 그외의 경우에는 not happy 만 출력하고 싶은 경우

if a < 89 then

print_string "happy"

print_string "not happy"


--> c와 자바와는 다르게 OCaml은 그룹은 ( ) , 즉 소괄호를 통해 묶는다.


if a < 0 then(
print_string "*";
star (a-1) n
)

여기서 주의할점!

그룹내의 수식(문장) 에는 ; 를 써준다 -> 마지막 문장은 안써줘도 가능


2.함수

함수 뒤에는 ;;를 써줘야한다.

함수를 호출할때는 안써도 되는것같지만, 정의할때에는 써줘야하는것 같다...


let rec star a n =
if a < 0 then(
print_string "*";
star (a-1) n
)
else if n <= 0 then
print_string ""
else(
print_string "\n";
star (n-1) (n-1)
);;



----------------------------------------후기 -------------------------------------------

별찍기 문제를 ocaml 재귀를 이용해서 풀려고 하는데 생각보다 어렵다... 결국 1문제 빼고 다 for 문으로  풀었다.

정확한 문법인지는 모르겠다.. 이렇게 하니까 되고, 저렇게 하면 안되니까 쓰는글..ㅠㅜㅠㅜ

728x90

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

9. [OCaml] 사용자 정의 타입  (0) 2019.07.05
8. [OCaml] 최대공약수 구하기(GCD)  (0) 2019.07.02
6. OCaml 백준 9498  (0) 2019.01.31
5.Ocaml 입출력  (0) 2019.01.31
4. OCaml 모듈 실행  (0) 2019.01.31