이 함수를 total이라고 정의해야합니다.총계 함수 (고차 함수)
total :: (Int -> Int) -> Int -> Int
정도로 총 F는 n 값에 + .... + 어떤 도움
감사 FN 합 F0 + F1을주는 함수임을! 부디.
는 일례로서 책 I에 따른 함수의 합성에 대해 알게 :
여기twice f = (f . f)
는, f는 함수이며, 그 결과는 그 자체로 이루어지는 F된다. 이 기능을 사용하려면 입력 및 출력 유형이 동일해야합니다. 따라서 우리는
twice :: (a -> a) -> a -> a
등의 두 인수를 하나씩 취하고 (a -> a) 유형의 함수를 취하고 동일한 유형의 결과를 반환한다고 설명합니다. 후계자가 정수에 하나를 추가 할 수있는 기능, 경우 예를 들어,
successor :: Int -> Int
successor n = n + 1
then
(twice successor) 12 ->(successor . successor) 12
-> successor (successor 12) -> 14
정확히 어디 막혔습니까? 특정 함수의 합계를 n까지 계산하는 함수를 작성할 수 있습니까? n까지 모든 자연수를 합산하는 함수를 작성할 수 있습니까? – sepp2k
FYI에서 "총계 함수"는 "부분 함수"와 달리 가능한 모든 입력 값에 대해 정의 된 함수입니다. 혼란을 피하기 위해 제목을 적절하게 편집 할 자유를 얻었습니다. 당신이 찾고있는 것은 합계 기능 일 것입니다. – Ingo
예 @Ingo 정확히 내가 찾고있는 것입니다. 감사! 어떻게 함수를 테스트하고 다른 함수에 대해 어떻게 작동하는지 이해해야합니다. – Amjad