Clojure - Numeri

Numbers il tipo di dati in Clojure è derivato dalle classi Java.

Clojure supporta numeri interi e in virgola mobile.

  • Un numero intero è un valore che non include una frazione.

  • Un numero a virgola mobile è un valore decimale che include una frazione decimale.

Di seguito è riportato un esempio di numeri in Clojure.

(def x 5)
(def y 5.25)

Dove "x" è del tipo Integer e "y" è il file float.

In Java, le seguenti classi sono associate ai numeri definiti in Clojure.

Per vedere effettivamente che i numeri in Clojure derivano da classi Java, utilizzare il seguente programma per vedere il tipo di numeri assegnati quando si utilizza il comando "def".

Esempio

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   (def x 5)
   (def y 5.25)
   (println (type x))
   (println (type y)))
(Example)

Il ‘type’ viene utilizzato per visualizzare la classe associata al valore assegnato a una variabile.

Produzione

Il codice precedente produrrà il seguente output.

Java.lang.long
Java.lang.double

Test numerici

Le seguenti funzioni di test sono disponibili per i numeri.

Sr.No. Numeri e descrizione
1 zero?

Restituisce vero se il numero è zero, altrimenti falso.

2 pos?

Restituisce vero se numero è maggiore di zero, altrimenti falso.

3 neg?

Restituisce vero se numero è minore di zero, altrimenti falso.

4 anche?

Restituisce vero se il numero è pari e genera un'eccezione se il numero non è un numero intero.

5 dispari?

Restituisce vero se il numero è dispari e genera un'eccezione se il numero non è un numero intero.

6 numero?

Restituisce vero se il numero è realmente un numero.

7 numero intero?

Restituisce vero se il numero è un numero intero.

8 galleggiante?

Restituisce vero se il numero è un float.