Clojure - 断言



断言是评估条件并提供真或假值的函数。我们在数字章节的示例中已经看到了断言函数。我们已经看到了诸如“even?”之类的函数,用于测试数字是否为偶数,或者“neg?”,用于测试数字是否大于零。所有这些函数都返回真或假值。

以下是 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 还提供了更多断言函数。以下方法可用于断言。

序号 方法和描述
1 every-pred

接受一组断言,并返回一个函数“f”,如果其所有组成断言对所有参数返回逻辑真值,则返回真,否则返回假。

2 every?

如果断言对每个值都为真,则返回真,否则返回假。

3 some

返回集合中任何断言值 x 的第一个逻辑真值。

4 not-any?

如果集合中值的任何断言逻辑为真,则返回假,否则返回真。

广告