【发布时间】:2021-06-15 04:01:14
【问题描述】:
(define ZERO (lambda (f x) x))
(define ONE (lambda (f x) (f x)))
(define SUCC (lambda (n) (lambda (f x) (f (n f x)))))
(display (ZERO 1 0))
(display (ONE 1 0))
(display ((SUCC ZERO) 1 0))
ZERO 功能可以正常工作。当我运行这段代码时,我得到一个错误,
错误:无效应用程序:(1 0)
用于ONE、SUCC 函数。
如何修复我的代码以使其正常工作?
【问题讨论】:
-
ONE的第一个参数必须是函数,这样你才能执行(f x)。 -
例如
(ONE + 3)等价于(+ 3) -
您希望
(display (ONE 1 0))打印什么? -
我想我现在明白了!非常感谢!
标签: scheme