gpt4 book ai didi

scheme - 在Scheme中使用foldr和or逻辑运算符

转载 作者:行者123 更新时间:2023-12-02 00:54:37 25 4
gpt4 key购买 nike

我正在尝试使用 Dr.Racket 在 Scheme 中运行以下代码

(foldr or #f '(#f #f #f #t))

现在,我希望这能起作用,因为

(foldr + 0 '(1 2 3))

工作正常,返回 6。

但是当我尝试使用逻辑或运行它时,我得到“or:错误语法:or”

我做错了什么?另外,是否有另一种方法可以在不使用折叠的情况下计算列表的或?

最佳答案

在折叠的特定情况下,您应该使用ormap 。您可以传入identity (甚至 values )作为与 ormap 一起使用的函数。

> (ormap identity '(#f #f #f #f #t))
#t
> (ormap identity '(#f #f #f #f #f))
#f

一般来说,您只能折叠函数,而不能折叠宏,并且 or 是宏,因为它具有短路行为。

关于scheme - 在Scheme中使用foldr和or逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com