我想了解如何在函數中傳遞函數作爲參數,但我在理解教程方面遇到了很多麻煩。 這裏就是我想要做的事:方案中的簡單高階函數
(define (addone n)
(+ n 1))
(define (for-n start stop fn)
(if (< start stop)
(list)
(cons (fn start) (for-n (+ start 1) stop fn))))
基本上我只是想返回FN的值啓動功能,啓動+ 1,...起動+停機在列表中。
因此(for-n 1 5(addone 0))的預期輸出將是(1 2 3 4 5)。 我想我在這裏真的錯過了一些非常基本的概念,因爲我似乎甚至沒有正確地調用解釋器中的函數,而且我也沒有掌握如何告訴方案將fn解釋爲函數而不是僅僅定期參數。
我想通了(雖然通過純粹的試驗和錯誤),我不知道我做了什麼,但至少它的工作原理!
(define (function x)
x)
(define (for-n start stop fn)
(if (> start stop)
(list)
(cons (fn start) (for-n (+ start 1) stop fn)))))
你有隻是問問題的問題並讓他們不加討論......受訪者把他們的寶貴時間放在回答你的問題上,讓他們像這樣,毫不動搖或不被接受......這是否合理? – 0decimal0