을 작성하는 방법 I가 작업이 문제가 :리스프 : 고차 기능
높은 순서 절차가 고정 된 연산자로 용어를 결합하는 아이디어를 캡처 더욱 일반화 될 수 합계. 수학적 연산 연산자는이 아이디어의 구체적인 예이며 곱셈은 합계 연산자의 추가를 대체합니다. 아래에 시작된 절차 축적은이 아이디어를 포착하기위한 것입니다. combiner 매개 변수는 용어를 줄이기 위해 사용되는 연산자를 나타내며 기본 매개 변수는 결합 할 용어가 남아 있지 않은 경우 반환되는 값을 나타냅니다. 그것은이에 따라 동작하도록 축적의 정의를 완료
이(합 정의 (누적 + 0))
을 우리가 이미 축적 과정을 구현 한 경우 예를 들어, 우리는 다음과 같이 합 절차를 정의 할 수 있습니다 기술. 이 맞다면 내가 아니다 실제로 호출 합 절차를 사용하는 방법을 축적 따라서 번호를 정리해 보면 아무 생각이 없다,
base
(combiner base (accumulate (combiner start stop) start next stop))
하지만 :
(define accumulate
(lambda (combiner base)
(lambda (term start next stop)
(if (> start stop)
...
...))))
나는 마지막 두 줄로 삽입.
'숙제'로 과제 질문에 태그를 추가하는 것을 잊지 마십시오. –
@PaulMcMillan : 실제 태그가 아닙니다. 감사합니다. – rvighne
나는 의견을 말한 시점에 하나였습니다. 분명히 정치는 5 년 동안 개입했습니다. –