Clojure - Tipos de datos

Clojure ofrece una amplia variedad de built-in data types.

Tipos de datos integrados

A continuación se muestra una lista de los tipos de datos que se definen en Clojure.

  • Integers - A continuación se muestra la representación de los números enteros disponibles en Clojure.

    • Decimal Integers (Short, Long and Int)- Se utilizan para representar números enteros. Por ejemplo, 1234.

    • Octal Numbers- Se utilizan para representar números en representación octal. Por ejemplo, 012.

    • Hexadecimal Numbers- Se utilizan para representar números en representación. Por ejemplo, 0xff.

    • Radix Numbers- Se utilizan para representar números en representación de base. Por ejemplo, 2r1111 donde la base es un número entero entre 2 y 36, inclusive.

  • Floating point

    • El valor predeterminado se utiliza para representar números de coma flotante de 32 bits. Por ejemplo, 12.34.

    • La otra representación es la notación científica. Por ejemplo, 1.35e-12.

  • char- Esto define un solo carácter literal. Los caracteres se definen con el símbolo de reacción. Por ejemplo, / e.

  • Boolean - Esto representa un valor booleano, que puede ser verdadero o falso.

  • String- Son literales de texto que se representan en forma de cadena de caracteres. Por ejemplo, "Hola mundo".

  • Nil - Esto se usa para representar un valor NULL en Clojure.

  • Atom- Los átomos proporcionan una forma de gestionar el estado independiente, sincrónico y compartido. Son un tipo de referencia como refs y vars.

Valores vinculados

Dado que todos los tipos de datos en Clojure se heredan de Java, los valores delimitados son los mismos que en el lenguaje de programación Java. La siguiente tabla muestra los valores máximos permitidos para los literales numéricos y decimales.

literales Rangos
Corto -32.768 hasta 32.767
En t -2,147,483,648 a 2,147,483,647
largo -9,223,372,036,854,775,808 a +9,223,372,036,854,775,807
flotador 1.40129846432481707e-45 a 3.40282346638528860e + 38
doble 4.94065645841246544e-324d a 1.79769313486231570e + 308d

Tipos numéricos de clase

Además de los tipos primitivos, se permiten los siguientes tipos de objetos (a veces denominados tipos de envoltura).

Nombre
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double

Ejemplo

El siguiente programa muestra un código clojure consolidado para demostrar los tipos de datos en Clojure.

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

;; This program displays Hello World
(defn Example []
   ;; The below code declares a integer variable
   (def x 1)
   
   ;; The below code declares a float variable
   (def y 1.25)
   
   ;; The below code declares a string variable
   (def str1 "Hello")
   (println x)
   (println y)
   (println str1))
(Example)

Salida

El programa anterior produce la siguiente salida.

1
1.25
Hello