gpt4 book ai didi

clojure - Clojure 中的逻辑 AND

转载 作者:行者123 更新时间:2023-12-02 18:06:32 25 4
gpt4 key购买 nike

Clojure的逻辑and与普通逻辑and(&&)不同吗?为什么这会产生 true

((and odd? #(> 10 %)) 6)

and不需要2个true语句才能返回true吗?

最佳答案

and 不一定返回 true。如果任何给定元素为 falsenil,它实际上会返回 falsenil。如果都不是,则返回最后一个元素(不返回 true)。

在您的情况下,and返回函数#(> 10 %)(没有其他内容),然后将其应用于6产生 true。这是因为这两个函数既不是 nil 也不是 false。以下是这些步骤的工作方式:

((and odd? #(> 10 %)) 6)
(#(> 10 %) 6)
;; => true

您正在寻找的是组合谓词函数:

((every-pred odd? #(> 10 %)) 6) ;; => false

仅供引用:还有它的补码“or”:some-fn

关于clojure - Clojure 中的逻辑 AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32168965/

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