오보에블로그
7. OCaml의 자잘한 문법 본문
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 |