我應該構建的函數應該將數字列表作爲參數,並將單個函數作爲輸出執行如下操作:如果列表中的數字是正數,加上它,如果它乘以負數,如果它是0,則平方數。例如,如果我傳遞(4 -1 0),它應該返回一個函數,它接受一個參數,將其加上4,乘以-1,將其平方並返回。計劃中的函數生成器
我認爲我走在正確的軌道上,但在這一點上我感到非常困惑。我不一定在尋找解決方案,但是到達目的地的任何幫助都會很棒。這是我到目前爲止有:
(define (buildseries L)
(define (a x)
(lambda (y) (+ x y)))
(define (m x)
(lambda (y) (* x y)))
(define (s x)
(lambda (x) (* x x)))
(define (funcfind d)
(cond
[(null? d) (a 0)]
[(> d 0) (a d)]
[(= d 0) (s d)]
[(< d 0) (m d)]))
(funcfind (first L)))
((buildseries '(2)) 2)
我不知道如何建立一個功能是其他功能的複合......只是感覺丟在這裏。
回到基礎。你的輸入是一個列表,一個遞歸數據類型。寫一個遞歸函數。列表的兩種變體是什麼? .... – 2012-03-29 10:59:21