Clojure - Números

Numbers o tipo de dados em Clojure é derivado de classes Java.

Clojure suporta números inteiros e de ponto flutuante.

  • Um número inteiro é um valor que não inclui uma fração.

  • Um número de ponto flutuante é um valor decimal que inclui uma fração decimal.

A seguir está um exemplo de números em Clojure.

(def x 5)
(def y 5.25)

Onde 'x' é do tipo Integer e 'y' é o float.

Em Java, as seguintes classes são anexadas aos números definidos em Clojure.

Para realmente ver que os números em Clojure são derivados de classes Java, use o seguinte programa para ver o tipo de números atribuídos ao usar o comando 'def'.

Exemplo

(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)

o ‘type’ comando é usado para produzir a classe associada ao valor atribuído a uma variável.

Resultado

O código acima produzirá a seguinte saída.

Java.lang.long
Java.lang.double

Testes numéricos

As funções de teste a seguir estão disponíveis para números.

Sr. Não. Números e descrição
1 zero?

Retorna verdadeiro se o número for zero, senão falso.

2 pos?

Retorna verdadeiro se o número for maior que zero, caso contrário, retorna falso.

3 neg?

Retorna verdadeiro se o número for menor que zero, senão falso.

4 até?

Retorna verdadeiro se o número for par e lança uma exceção se o número não for um inteiro.

5 ímpar?

Retorna verdadeiro se o número for ímpar e lança uma exceção se o número não for um inteiro.

6 número?

Retorna verdadeiro se o número for realmente um Número.

7 inteiro?

Retorna verdadeiro se o número for um inteiro.

8 flutuador?

Retorna verdadeiro se o número for um float.