在方案中使用AND和Apply函数 [英] Using AND with the apply function in Scheme
本文介绍了在方案中使用AND和Apply函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么以下选项不起作用?
(apply and (list #t #t #f))
而以下各项工作正常。
(apply + (list 1 3 2))
R5RS和R6RS似乎都是这种情况?
推荐答案
and
不是普通函数,因为它只会根据需要计算尽可能少的参数,以了解结果是真还是假。例如,如果第一个参数为false,那么无论其他参数是什么,结果都必须为false,这样它就不会计算其他参数。如果and
是普通函数,则会首先计算其所有参数,因此将and
设为特殊关键字,这就是它不能作为变量传递的原因。
这篇关于在方案中使用AND和Apply函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文