Clojure-述語

Predicates条件を評価し、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は述語に対してより多くの関数を提供します。述語には次の方法があります。

シニア番号 方法と説明
1 Every-pred

述語のセットを受け取り、関数 'f'を返します。この関数は、構成するすべての述語がすべての引数に対して論理true値を返す場合はtrueを返し、そうでない場合はfalseを返します。

2 毎?

述部がすべての値に対してtrueの場合はtrueを返し、それ以外の場合はfalseを返します。

3 いくつか

値のコレクション内のxの任意の述語値の最初の論理真の値を返します。

4 なにもない?

コレクション内の値の述語のいずれかが論理的に真である場合はfalseを返し、そうでない場合はtrueを返します。