每一个? Clojure 中的身份
every? identity in Clojure
我不明白为什么 every?
和 identity
的组合在以下两个示例中给出不同的结果。它似乎在 true
false
集合上调用它时给出了预期的答案,但没有数字和字符串:
(every? identity [1 2 3 4])
=> true
(every? identity [true true false])
=> false
在后一种情况下,every?
会 return false
是有意义的,因为测试集合中的一个元素是 false
;即:
=> (identity false)
false
当 every?
穿过矢量并遇到上述应用程序时,它看到了一个虚假值,所以 return 就是这样。
=> (doc every?)
-------------------------
clojure.core/every?
([pred coll])
Returns true if (pred x) is logical true for every x in coll, else
false.
这是来自每个的 clojure 文档?:
Returns true if (pred x) is logical true for every x in coll, else
false.
通过对数组内的 false 值求值 (identity),你会得到 false,因为 false 的身份是 false。
我不明白为什么 every?
和 identity
的组合在以下两个示例中给出不同的结果。它似乎在 true
false
集合上调用它时给出了预期的答案,但没有数字和字符串:
(every? identity [1 2 3 4])
=> true
(every? identity [true true false])
=> false
在后一种情况下,every?
会 return false
是有意义的,因为测试集合中的一个元素是 false
;即:
=> (identity false)
false
当 every?
穿过矢量并遇到上述应用程序时,它看到了一个虚假值,所以 return 就是这样。
=> (doc every?)
-------------------------
clojure.core/every?
([pred coll])
Returns true if (pred x) is logical true for every x in coll, else
false.
这是来自每个的 clojure 文档?:
Returns true if (pred x) is logical true for every x in coll, else false.
通过对数组内的 false 值求值 (identity),你会得到 false,因为 false 的身份是 false。