目录

Clojure - 谓词(Predicates)

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。

↑回到顶部↑
WIKI教程 @2018