[Ocaml] 고차함수 예제

정민경·2023년 2월 24일
0

ocaml

목록 보기
4/6
post-thumbnail

  • fold 사용 예제
  1. length : list l 의 길이 구하는 함수

    ▶ length (list)

    • fold_right 사용

    • fold_left 사용
  2. reverse : 리스트 뒤집는 함수

    ▶ reverse (list)

    • fold_right 사용

    • fold_left 사용
  3. is_all_pos : 리스트의 모든 원소가 양수인지 확인하는 함수

    ▶ is_all_pos (list)

    • fold_right 사용

    • fold_left 사용
  4. map

    ▶ map (function) (list)

    • fold_right 사용

    • fold_left 사용
  5. sigma

    재귀함수 사용 ( sigma 개념 )
    ▶ sigma (function) a b

  6. all : 리스트의 모든 원소들이 함 수 p의 값을 참으로 만드는지 여부를 나타내는 함수

    ▶ all (function) (list)

    • fold_right 사용
    • x : 현재 내가 보고있는 값 || y : 현재까지 accumulate 해오던 값


  • 함수를 반환하는 함수의 예

    • 함수 합성 ( composition ) : function x -> f ( g (x) )

      let compose f g = fun x -> f ( g (x) )

      • (( compose square inc ) 6 ) : 1을 증가시킨 후 제곱 = 49
        ▶ square : 제곱하는 함수
        ▶ inc : 1을 증가시키는 함수

  • 연습 문제

  1. double : 함수 f 와 인자 a 를 받아서 f 를 a 에 두번 적용한 결과를 반환하는 함수

    ▶ double (function) a

    • 정의 자체를 적어주면 됨.

0개의 댓글