Clojure - Prädikate
Predicatessind Funktionen, die eine Bedingung auswerten und den Wert true oder false liefern. Wir haben Prädikatfunktionen in den Beispielen des Kapitels über Zahlen gesehen. Wir haben Funktionen wie "gerade?" Was wird verwendet, um zu testen, ob eine Zahl gerade ist oder nicht, oder 'neg?' Hiermit wird getestet, ob eine Zahl größer als Null ist oder nicht. Alle diese Funktionen geben entweder einen wahren oder einen falschen Wert zurück.
Das Folgende ist ein Beispiel für Prädikate 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)
Das obige Programm erzeugt die folgende Ausgabe.
true
false
true
true
Zusätzlich zu den normalen Prädikatfunktionen bietet Clojure weitere Funktionen für Prädikate. Die folgenden Methoden stehen für Prädikate zur Verfügung.
Sr.Nr. | Methoden & Beschreibung |
---|---|
1 | Every-Pred Nimmt eine Reihe von Prädikaten und gibt eine Funktion 'f' zurück, die true zurückgibt, wenn alle zusammengesetzten Prädikate einen logischen true-Wert für alle Argumente zurückgeben, andernfalls false. |
2 | jeder? Gibt true zurück, wenn das Prädikat für jeden Wert true ist, andernfalls false. |
3 | etwas Gibt den ersten logischen wahren Wert für einen Prädikatwert von x in der Wertesammlung zurück. |
4 | keine? Gibt false zurück, wenn eines der Prädikate der Werte in einer Auflistung logisch true ist, andernfalls true. |