Erlang - Types de données

Dans n'importe quel langage de programmation, vous devez utiliser plusieurs variables pour stocker différents types d'informations. Les variables ne sont rien d'autre que des emplacements de mémoire réservés pour stocker des valeurs. Cela signifie que lorsque vous créez une variable, vous réservez de l'espace dans la mémoire pour stocker la valeur associée à cette variable.

Vous pouvez souhaiter stocker des informations de différents types de données comme une chaîne, un caractère, un caractère large, un entier, une virgule flottante, une valeur booléenne, etc. En fonction du type de données d'une variable, le système d'exploitation alloue de la mémoire et décide de ce qui peut être stocké dans le fichier réservé Mémoire.

Types de données intégrés

Erlang propose une grande variété de types de données intégrés. Voici une liste des types de données qui sont définis dans Erlang -

  • Number - Dans Erlang, il existe 2 types de littéraux numériques qui sont des entiers et des flottants.

  • Atom- Un atome est un littéral, une constante avec un nom. Un atome doit être placé entre guillemets simples (') s'il ne commence pas par une lettre minuscule ou s'il contient d'autres caractères que des caractères alphanumériques, un trait de soulignement (_) ou @.

  • Boolean - Les types de données booléens dans Erlang sont les deux atomes réservés: vrai et faux.

  • Bit String - Une chaîne de bits est utilisée pour stocker une zone de mémoire non typée.

  • Tuple- Un tuple est un type de données composé avec un nombre fixe de termes. Chaque terme du tuple est appelé en tant qu'élément. On dit que le nombre d'éléments est la taille du tuple.

  • Map- Une carte est un type de données composé avec un nombre variable d'associations clé-valeur. Chaque association clé-valeur de la carte est appelée une paire d'associations. Les parties clé et valeur de la paire sont appelées éléments. On dit que le nombre de paires d'associations est la taille de la carte.

  • List- Une liste est un type de données composé avec un nombre variable de termes. Chaque terme de la liste est appelé un élément. On dit que le nombre d'éléments est la longueur de la liste.

Note- Vous serez surpris de voir que vous ne pouvez voir le type String nulle part dans la liste ci-dessus. C'est parce qu'il n'y a pas de type de données chaîne exclusivement défini dans Erlang. Mais nous verrons comment nous pouvons travailler avec des chaînes dans un chapitre suivant.

Voici des exemples d'utilisation de chaque type de données. Là encore, chaque type de données sera discuté en détail dans les chapitres suivants. Ceci est juste pour vous familiariser avec une brève description des types de données mentionnés ci-dessus.

Nombre

Un exemple d'utilisation du type de données numérique est présenté dans le programme suivant. Ce programme montre l'ajout de 2 entiers.

Example

-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite("~w",[1+1]).

La sortie du programme ci-dessus sera -

Output

2

Atome

Les atomes doivent commencer par une lettre minuscule et peuvent contenir des caractères minuscules et majuscules, des chiffres, des traits de soulignement (_) et le signe «at» (@). Nous pouvons également mettre un atome entre guillemets simples.

Un exemple de la façon dont le type de données atom peut être utilisé est présenté dans le programme suivant. Dans ce programme, nous créons un atome qui s'appelle atom1.

Example

-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite(atom1).

La sortie du programme ci-dessus sera -

Output

atom1

Booléen

Un exemple de la façon dont le type de données booléen peut être utilisé est présenté dans le programme suivant. Cet exemple effectue une comparaison entre 2 entiers et imprime le booléen résultant sur la console.

Example

-module(helloworld).
-export([start/0]).

start() ->
   io:fwrite(2 =< 3).

La sortie du programme ci-dessus sera -

Output

true

Chaîne de bits

Un exemple de la façon dont le type de données Bit String peut être utilisé est présenté dans le programme suivant. Ce programme définit une chaîne de bits composée de 2 bits. lebinary_to_list est une fonction intégrée définie dans Erlang qui peut être utilisée pour convertir une chaîne de bits en une liste.

Example

-module(helloworld).
-export([start/0]).

start() ->
   Bin1 = <<10,20>>,
   X = binary_to_list(Bin1),
   io:fwrite("~w",[X]).

La sortie du programme ci-dessus sera -

Output

[10,20]

Tuple

Un exemple de la façon dont le type de données Tuple peut être utilisé est illustré dans le programme suivant.

Ici, nous définissons un Tuple Pqui a 3 termes. letuple_size est une fonction intégrée définie dans Erlang, qui peut être utilisée pour déterminer la taille du tuple.

Example

-module(helloworld). 
-export([start/0]). 

start() -> 
   P = {john,24,{june,25}} , 
   io:fwrite("~w",[tuple_size(P)]).

La sortie du programme ci-dessus sera -

Output

3

Carte

Un exemple d'utilisation du type de données Carte est présenté dans le programme suivant.

Ici, nous définissons un Map M1qui a 2 mappages. lemap_size est une fonction intégrée définie dans Erlang, qui peut être utilisée pour déterminer la taille de la carte.

Example

-module(helloworld). 
-export([start/0]). 

start() -> 
   M1 = #{name=>john,age=>25}, 
   io:fwrite("~w",[map_size(M1)]).

La sortie du programme ci-dessus sera -

Output

2

liste

Un exemple de la façon dont le type de données Liste peut être utilisé est présenté dans le programme suivant.

Ici, nous définissons un List Lqui a 3 articles. La longueur est une fonction intégrée définie dans Erlang, qui peut être utilisée pour déterminer la taille de la liste.

Example

-module(helloworld). 
-export([start/0]). 

start() -> 
   L = [10,20,30] , 
   io:fwrite("~w",[length(L)]).

La sortie du programme ci-dessus sera -

Output

3