gpt4 book ai didi

clojure - 为什么 (every? string? []) 应该产生 true ?

转载 作者:行者123 更新时间:2023-12-03 00:41:03 24 4
gpt4 key购买 nike

查看 every? 的源代码可以清楚为什么

(every? string? []) => true

这是因为 every? 是递归实现的,并使用 (nil? (seq coll)) 来结束递归。但是,我的问题是,这种行为有什么意义?刚刚被那个绊倒了。

我已经使用解决了我的问题

(and (seq x) (every? string? x))

最佳答案

因为它的功能与 forall 量词相同。也就是说,它最初被假设为真,并且谓词的每次应用都是为了证明它是假的。存在量词(由于不一致,在 Clojure 中称为 some 而不是 any?)以相反的方式工作 - 它假设 false 并且谓词的每次应用都试图证明这是真的。

换句话说,某件事对所有人来说都是正确的,这总是正确的,而对某些人而言,某件事是正确的总是错误的。

关于clojure - 为什么 (every? string? []) 应该产生 true ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13285187/

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