谓词(Predicates)
优质
小牛编辑
131浏览
2023-12-01
Predicates是评估条件并提供true或false值的函数。 我们在数字章节的例子中看到了谓词函数。 我们看过像'even?'这样的功能 用来测试一个数字是否是偶数,或'neg?' 用于测试数字是否大于零。 所有这些函数都返回true或false值。
以下是Clojure中谓词的示例。
(ns clojure.examples.example
(:gen-class))
;; This program displays Hello World
(defn Example []
(def x (even? 0))
(println x)
(def x (neg? 2))
(println x)
(def x (odd? 3))
(println x)
(def x (pos? 3))
(println x))
(Example)
上述程序产生以下输出。
true
false
true
true
除了普通的谓词函数之外,Clojure还为谓词提供了更多的函数。 以下方法可用于谓词。
Sr.No. | 方法和描述 |
---|---|
1 | every-pred 获取一组谓词并返回一个函数'f',如果其所有组合谓词都针对其所有参数返回逻辑真值,则返回true,否则返回false。 |
2 | every? 如果谓词对于每个值都为true,则返回true,否则返回false。 |
3 | some 返回值集合中x的任何谓词值的第一个逻辑true值。 |
4 | not-any? 如果集合中值的任何谓词在逻辑上为真,则返回false,否则返回true。 |