【发布时间】:2013-10-17 05:58:26
【问题描述】:
我需要实现一个函数,它接受一个或多个表达式并按顺序执行这些表达式。
这是我目前所拥有的:
(define (foo exp0 exp1 ) exp0 exp1)
【问题讨论】:
-
你能重现教科书中出现的问题吗?你描述的不是一个函数,而是一个macto。到目前为止,您所拥有的是一个函数,它接受两个 值 作为参数,然后返回其中的第二个。
-
好的,所以它是在谈论实现一个操作符/操作,而不是一个函数。我只是想确定这一点。我看到这是您在 StackOverflow 上的第一个问题。您应该能够编辑您的问题,并且添加这种澄清是说明为什么存在哪些功能的一个很好的例子。我现在将对其进行编辑,但将来,请随时更新您的问题并进行澄清;它更容易找到,而且不是每个人都会阅读 cmets。
-
你为什么删除我编辑的问题(你之前在评论中发布的)?它增加了必要的澄清。例如,如前所述,这是不可能的;你不能定义一个 function 来做到这一点。然而,引用的问题清楚地表明,您正在寻找一个可以用
define-syntax-rule定义的运算符,正如uselpa's answer 所解释的那样。
标签: lambda scheme racket sequencing