我应该构建的函数应该将数字列表作为参数,并将单个函数作为输出执行如下操作:如果列表中的数字是正数,加上它,如果它乘以负数,如果它是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