如何解决作为Scheme中的参数的Feed函数
我是 Scheme 编程和作业的新手。我有多个函数,func3
位于顶部,func1
馈送至 func2
,然后馈送至 func3
。例如我有这样的东西
(define func1
(lambda (a b)
(+ a b)))
(define func2
(lambda (x y)
(+ x y))) ;;; y is a function of above function1
我已经创建了 func3
如下
(define func3
(lambda (a b x)
func2 (x (func1 (a b)))))
我做错了什么还是很简单?如果需要任何说明,请告诉我。在此先感谢您的帮助。
解决方法
您调用程序的方式不对,应该是这样的:
(define func3
(lambda (a b x)
(func2 x (func1 a b))))
如您所见,您代码中的某些括号放错了位置。关键是要了解如何调用一个过程,例如这是错误的:
func2(x ...) ; missing `(` at the left
这也是不正确的:
(func1 (a b)) ; don't surround parameters with `()`
正确的方法是用 ()
包围每个过程调用而不是它的参数,除非它们是过程调用本身。像这样:
(func1 a b)
(func2 x (func1 a b))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。