2017-11-04 64 views
-1

我正在嘗試編寫一個帶兩個參數的forAll過程:系列的開始和結束值。結果閉包需要兩個參數:適用於系列中所有元素的操作以及初始值。編寫一個包含兩個參數的forAll過程:系列的開始值和結束值,並將給定過程應用於該系列

這就是我所擁有的,我似乎錯過了某些東西,或者我不理解背後的概念。

(define (forAll n m) 
    (if (>= n m) '() 
    (forAll (+ n 1) m)) 

(lambda (op start) (op start n m)) 
     ) 

回答

0

這看起來像一個「結合現有的功能到新的」演習。
從編寫一個函數開始,該函數可以生成數字列表,如果您還沒有這樣做。
使用它來做這個功能。
回顧你最近學到了什麼,看看你是否已經有了一個類似於閉包應該做的事情的函數。

你到底是什麼了可能會是這樣的:

(define (forAll n m) 
    (lambda (op start) 
     (... code that builds a list and computes the result ...))) 
+0

這並不能真正幫助或解釋什麼 –

相關問題