我在向量 fs
中有很多谓词函数,我想将它们全部和
。这适用于前两个功能:
((and (first fs) (second fs)) value)
不过,我想编写将 和
应用于所有函数的代码,无论函数有多少。 (apply and fs)
无法编译,因为 and
是一个宏。
有关 working 与 and
的谓词函数的示例,试试这个:
((and number? integer?) 1)
编辑 如果您没有阅读评论,上面的 和
结构都是不好的例子。对于实际工作的相同结构,使用 every-pred
而不是 and
。
最佳答案
由于您正在使用谓词,every-pred可能会感兴趣。
阅读您的编辑后 - 谢谢,我不知道,您可以使用 和
来做到这一点。此外,我已经编辑了我的答案,我认为你肯定想要应用 every-pred
((apply every-pred [number? integer?]) 1)
=> true
((apply every-pred [number? integer?]) "asdf")
=> false
关于clojure - 如何应用许多谓词函数中的每一个 (`and` 它们),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42239678/