Clojure - Types de données
Clojure propose une grande variété de built-in data types.
Types de données intégrés
Voici une liste des types de données définis dans Clojure.
Integers - Voici la représentation des nombres entiers disponibles dans Clojure.
Decimal Integers (Short, Long and Int)- Ils sont utilisés pour représenter des nombres entiers. Par exemple, 1234.
Octal Numbers- Ils sont utilisés pour représenter les nombres en représentation octale. Par exemple, 012.
Hexadecimal Numbers- Ils sont utilisés pour représenter les nombres dans la représentation. Par exemple, 0xff.
Radix Numbers- Ils sont utilisés pour représenter les nombres dans la représentation de base. Par exemple, 2r1111 où la base est un entier compris entre 2 et 36 inclus.
Floating point
La valeur par défaut est utilisée pour représenter des nombres à virgule flottante 32 bits. Par exemple, 12.34.
L'autre représentation est la notation scientifique. Par exemple, 1,35e-12.
char- Ceci définit un seul caractère littéral. Les caractères sont définis avec le symbole de jeu. Par exemple, / e.
Boolean - Cela représente une valeur booléenne, qui peut être vraie ou fausse.
String- Ce sont des textes littéraux qui sont représentés sous la forme d'une chaîne de caractères. Par exemple, «Hello World».
Nil - Ceci est utilisé pour représenter une valeur NULL dans Clojure.
Atom- Les atomes fournissent un moyen de gérer un état partagé, synchrone et indépendant. Ils sont un type de référence comme les refs et les vars.
Valeurs liées
Étant donné que tous les types de données de Clojure sont hérités de Java, les valeurs limitées sont les mêmes que dans le langage de programmation Java. Le tableau suivant indique les valeurs maximales autorisées pour les littéraux numériques et décimaux.
littéraux | Gammes |
---|---|
Court | -32 768 à 32 767 |
int | -2 147 483 648 à 2 147 483 647 |
longue | -9.223.372.036.854.775.808 à +9.223.372.036.854.775.807 |
flotte | 1.40129846432481707e-45 à 3.40282346638528860e + 38 |
double | 4,94065645841246544e-324d à 1,79769313486231570e + 308d |
Types numériques de classe
En plus des types primitifs, les types d'objets suivants (parfois appelés types wrapper) sont autorisés.
Nom |
---|
java.lang.Byte |
java.lang.Short |
java.lang.Integer |
java.lang.Long |
java.lang.Float |
java.lang.Double |
Exemple
Le programme suivant montre un code de clojure consolidé pour illustrer les types de données dans 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)
Production
Le programme ci-dessus produit la sortie suivante.
1
1.25
Hello