我有這個問題上下工夫:Lisp語言:如何寫一個高階函數
之和更高階的過程可以進一步推廣到獲取方面具有固定運營商相結合的理念。數學乘積運算符就是這個想法的一個具體例子,用乘法替換求和運算符的加法。 從下面開始的程序累積,旨在捕捉這個想法。組合器參數表示用於減少術語的運算符,而基本參數表示在沒有要組合的術語時返回的值。例如,如果我們已經實施了累積的過程,那麼我們就可以定義和程序爲:
(定義總和(累加+ 0))
完成累加的定義,使其根據此行爲描述。
(define accumulate
(lambda (combiner base)
(lambda (term start next stop)
(if (> start stop)
...
...))))
我插入的最後兩行:
base
(combiner base (accumulate (combiner start stop) start next stop))
,但是,我不知道這是否是正確的,也沒有如何實際使用的和程序調用積累,從而總結出號。
不要忘了用「家庭作業」標記你的作業問題 – 2009-10-15 04:35:24
@PaulMcMillan:這不是一個真正的標籤,謝天謝地! – rvighne 2014-08-21 20:02:24
這是我發表評論時的一點。顯然政治已經在這5年間發生了變化。 – 2014-12-04 23:35:03