Erlang - Tipi di dati

In qualsiasi linguaggio di programmazione, è necessario utilizzare diverse variabili per memorizzare vari tipi di informazioni. Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi dello spazio in memoria per memorizzare il valore associato a quella variabile.

Potresti voler memorizzare informazioni di vari tipi di dati come stringa, carattere, carattere largo, intero, virgola mobile, booleano, ecc. In base al tipo di dati di una variabile, il sistema operativo alloca memoria e decide cosa può essere memorizzato nel riservato memoria.

Tipi di dati incorporati

Erlang offre un'ampia varietà di tipi di dati incorporati. Di seguito è riportato un elenco di tipi di dati definiti in Erlang:

  • Number - In Erlang, ci sono 2 tipi di letterali numerici che sono numeri interi e float.

  • Atom- Un atomo è un letterale, una costante con nome. Un atomo deve essere racchiuso tra virgolette singole (') se non inizia con una lettera minuscola o se contiene caratteri diversi da caratteri alfanumerici, trattino basso (_) o @.

  • Boolean - I tipi di dati booleani in Erlang sono i due atomi riservati: vero e falso.

  • Bit String - Una stringa di bit viene utilizzata per memorizzare un'area di memoria non digitata.

  • Tuple- Una tupla è un tipo di dati composto con un numero fisso di termini. Ogni termine nella tupla viene chiamato come elemento. Si dice che il numero di elementi sia la dimensione della tupla.

  • Map- Una mappa è un tipo di dati composto con un numero variabile di associazioni valore-chiave. Ogni associazione valore-chiave nella mappa è chiamata coppia di associazioni. Le parti chiave e valore della coppia sono chiamate elementi. Si dice che il numero di coppie di associazioni corrisponda alle dimensioni della mappa.

  • List- Un elenco è un tipo di dati composto con un numero variabile di termini. Ogni termine nell'elenco è chiamato elemento. Si dice che il numero di elementi sia la lunghezza dell'elenco.

Note- Sarai sorpreso di vedere che non puoi vedere il tipo di stringa da nessuna parte nell'elenco sopra. Questo perché non esiste un tipo di dati stringa definito esclusivamente in Erlang. Ma vedremo come lavorare con le stringhe in un capitolo successivo.

Di seguito sono riportati gli esempi di come ogni tipo di dati può essere utilizzato. Anche in questo caso ogni tipo di dati sarà discusso in dettaglio nei capitoli seguenti. Questo è solo per farti conoscere una breve descrizione dei tipi di dati sopra menzionati.

Numero

Un esempio di come può essere utilizzato il tipo di dati numerico è mostrato nel seguente programma. Questo programma mostra l'aggiunta di 2 numeri interi.

Example

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

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

L'output del programma di cui sopra sarà:

Output

2

Atomo

Gli atomi devono iniziare con una lettera minuscola e possono contenere caratteri minuscoli e maiuscoli, cifre, trattino basso (_) e il segno "a" (@). Possiamo anche racchiudere un atomo tra virgolette singole.

Un esempio di come può essere utilizzato il tipo di dati atom è mostrato nel seguente programma. In questo programma, stiamo creando un atomo che si chiama atom1.

Example

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

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

L'output del programma di cui sopra sarà:

Output

atom1

Booleano

Un esempio di come il tipo di dati booleano può essere utilizzato è mostrato nel seguente programma. Questo esempio fa un confronto tra 2 numeri interi e stampa il booleano risultante sulla console.

Example

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

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

L'output del programma di cui sopra sarà:

Output

true

Stringa di bit

Un esempio di come può essere utilizzato il tipo di dati Bit String è mostrato nel seguente programma. Questo programma definisce una stringa di bit composta da 2 bit. Ilbinary_to_list è una funzione incorporata definita in Erlang che può essere utilizzata per convertire una stringa di bit in una lista.

Example

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

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

L'output del programma di cui sopra sarà:

Output

[10,20]

Tupla

Un esempio di come può essere utilizzato il tipo di dati Tuple è mostrato nel seguente programma.

Qui stiamo definendo un file Tuple Pche ha 3 termini. Iltuple_size è una funzione incorporata definita in Erlang, che può essere utilizzata per determinare la dimensione della tupla.

Example

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

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

L'output del programma di cui sopra sarà:

Output

3

Carta geografica

Un esempio di come può essere utilizzato il tipo di dati Mappa è mostrato nel seguente programma.

Qui stiamo definendo un file Map M1che ha 2 mappature. Ilmap_size è una funzione incorporata definita in Erlang, che può essere utilizzata per determinare la dimensione della mappa.

Example

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

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

L'output del programma di cui sopra sarà:

Output

2

Elenco

Un esempio di come può essere utilizzato il tipo di dati List è mostrato nel seguente programma.

Qui stiamo definendo un file List Lche ha 3 elementi. La lunghezza è una funzione incorporata definita in Erlang, che può essere utilizzata per determinare la dimensione dell'elenco.

Example

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

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

L'output del programma di cui sopra sarà:

Output

3