Clojure - Prédicats

Predicatessont des fonctions qui évaluent une condition et fournissent une valeur vraie ou fausse. Nous avons vu des fonctions de prédicat dans les exemples du chapitre sur les nombres. Nous avons vu des fonctions comme "même?" qui est utilisé pour tester si un nombre est pair ou non, ou 'neg?' qui est utilisé pour tester si un nombre est supérieur à zéro ou non. Toutes ces fonctions renvoient une valeur vraie ou fausse.

Voici un exemple de prédicats dans 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)

Le programme ci-dessus produit la sortie suivante.

true
false
true
true

En plus des fonctions de prédicat normales, Clojure fournit plus de fonctions pour les prédicats. Les méthodes suivantes sont disponibles pour les prédicats.

N ° Sr. Méthodes et description
1 chaque-préd

Prend un ensemble de prédicats et renvoie une fonction 'f' qui renvoie true si tous ses prédicats de composition renvoient une valeur logique vraie par rapport à tous ses arguments, sinon elle renvoie false.

2 chaque?

Renvoie vrai si le prédicat est vrai pour chaque valeur, sinon faux.

3 certains

Renvoie la première valeur logique vraie pour toute valeur de prédicat de x dans la collection de valeurs.

4 aucun?

Renvoie false si l'un des prédicats des valeurs d'une collection est logiquement vrai, sinon true.