1
我在Scheme中制作了一个函数工厂,它接收一个二元函数f,并将其调用到一个或多个变量列表中。如何使用过滤器呼叫我的功能工厂?
(define makeDoForAll
(lambda (f)
(define (helper a lst)
(if (null? lst)
a
(if (null? (cdr lst))
(f a (car lst))
(helper (f a (car lst))
(cdr lst)))))
(lambda (x . others)
(helper x others))))
我想要使用此功能,工厂在给定的列表总结了所有偶数新的功能,从而例如(sumEvens 1 2 3 4 5)
将输出6。
如何在实现过滤器(even? x)
时调用功能工厂?
请格式化您的代码。 – AleArk
“f”应该做过滤。我的第二个参数是偶数,添加到一个。如果不是,则返回一个未更改。 – Rptx
我怀疑它会起作用,因为你使用list元素作为基本情况而不通过'f'来传递它。换句话说,你的“factoried”函数对单元素列表没有任何作用。 – molbdnilo