【发布时间】:2015-05-15 16:58:09
【问题描述】:
我正在为我的 CS 课程写作业。我必须基于另一个名为 chili 的函数编写一个 n 元函数,该函数接受 3 个参数和一个运算符作为输入,并返回与运算符组合的变量,如下所示:
> ((((Chili3 +) 1) 10) 100)
111
还有代码:
(define Chili3
(lambda (p)
(lambda (x1)
(lambda (x2)
(lambda (x3)
(p x1 x2 x3))))))
我应该编写的函数必须接受另一个输入,它定义了函数将使用的参数数量,并将像这样执行:
> ((((((Curry 5 *) 1) 2) 3) 4) 5)
120
这是我到目前为止的代码:
(define Chili
(lambda (n p)
(lambda(xs)
((p n) xs))))
谁能帮助我,也许只是解释一下 n 元函数是如何工作的,或者我的代码有什么问题?
【问题讨论】: