Clojure - Predicati
Predicatessono funzioni che valutano una condizione e forniscono un valore vero o falso. Abbiamo visto funzioni predicative negli esempi del capitolo sui numeri. Abbiamo visto funzioni come "anche?" che viene utilizzato per verificare se un numero è pari o no, o "neg?" che viene utilizzato per verificare se un numero è maggiore di zero o meno. Tutte queste funzioni restituiscono un valore vero o falso.
Di seguito è riportato un esempio di predicati in 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)
Il programma precedente produce il seguente output.
true
false
true
true
Oltre alle normali funzioni dei predicati, Clojure fornisce più funzioni per i predicati. I metodi seguenti sono disponibili per i predicati.
Sr.No. | Metodi e descrizione |
---|---|
1 | ogni predatore Accetta un insieme di predicati e restituisce una funzione 'f' che restituisce true se tutti i suoi predicati che la compongono restituiscono un valore logico vero rispetto a tutti i suoi argomenti, altrimenti restituisce false. |
2 | ogni? Restituisce vero se il predicato è vero per ogni valore, altrimenti falso. |
3 | alcuni Restituisce il primo valore vero logico per qualsiasi valore di predicato x nella raccolta di valori. |
4 | nemmeno uno? Restituisce falso se uno qualsiasi dei predicati dei valori in una raccolta è logicamente vero, altrimenti vero. |