在方案中使用AND和Apply函数 [英] Using AND with the apply function in Scheme

查看:15
本文介绍了在方案中使用AND和Apply函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么以下选项不起作用?

(apply and (list #t #t #f))

而以下各项工作正常。

(apply + (list 1 3 2))

R5RS和R6RS似乎都是这种情况?

推荐答案

and不是普通函数,因为它只会根据需要计算尽可能少的参数,以了解结果是真还是假。例如,如果第一个参数为false,那么无论其他参数是什么,结果都必须为false,这样它就不会计算其他参数。如果and是普通函数,则会首先计算其所有参数,因此将and设为特殊关键字,这就是它不能作为变量传递的原因。

这篇关于在方案中使用AND和Apply函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆