Erlang - Variabili
In Erlang, tutte le variabili sono legate con l'istruzione "=". Tutte le variabili devono iniziare con il carattere maiuscolo. In altri linguaggi di programmazione, il segno "=" viene utilizzato per l'assegnazione, ma non nel caso di Erlang. Come affermato, le variabili vengono definite con l'uso dell'istruzione "=".
Una cosa fondamentale da notare in Erlang è che le variabili sono immutabili, il che significa che affinché il valore della variabile cambi, deve essere distrutto e ricreato di nuovo.
Le seguenti variabili di base in Erlang sono spiegate nell'ultimo capitolo:
Numbers- Viene utilizzato per rappresentare un numero intero o un float. Un esempio è 10.
Boolean - Questo rappresenta un valore booleano che può essere vero o falso.
Bit String- Una stringa di bit viene utilizzata per memorizzare un'area di memoria non digitata. Un esempio è << 40,50 >>.
Tuple- Una tupla è un tipo di dati composto con un numero fisso di termini. Un esempio è {40,50}.
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. Un esempio è {type => person, age => 25}.
List- Un elenco è un tipo di dati composto con un numero variabile di termini. Un esempio è [40,40].
Dichiarazioni di variabili
La sintassi generale per definire una variabile è la seguente:
Sintassi
var-name = var-value
Dove,
var-name - Questo è il nome della variabile.
var-value - Questo è il valore associato alla variabile.
Di seguito è riportato un esempio di dichiarazione di variabile:
Esempio
-module(helloworld).
-export([start/0]).
start() ->
X = 40,
Y = 50,
Result = X + Y,
io:fwrite("~w",[Result]).
Nell'esempio precedente, abbiamo 2 variabili, una è X che è legata al valore 40 e la successiva è Y che è legata al valore di 50. Un'altra variabile chiamata Risultato è vincolata alla somma di X e Y.
L'output del programma di cui sopra sarà:
Produzione
90
Denominazione delle variabili
Come discusso, i nomi delle variabili devono iniziare con le maiuscole. Facciamo un esempio di una variabile dichiarata in minuscolo.
Esempio
-module(helloworld).
-export([start/0]).
start() ->
X = 40,
Y = 50,
result = X + Y,
io:fwrite("~w",[Result]).
Se provi a compilare il programma sopra, otterrai il seguente errore in fase di compilazione.
Produzione
helloworld.erl:8: variable 'Result' is unbound
In secondo luogo, tutte le variabili possono essere assegnate solo una volta. Facciamo un esempio di assegnazione di una variabile più di una volta.
Esempio
-module(helloworld).
-export([start/0]).
start() ->
X = 40,
Y = 50,
X = 60,
io:fwrite("~w",[X]).
Se si tenta di compilare il programma precedente, verrà visualizzato il seguente errore in fase di compilazione.
Produzione
helloworld.erl:6: Warning: variable 'Y' is unused
helloworld.erl:7: Warning: no clause will ever match
helloworld.erl:7: Warning: the guard for this clause evaluates to 'false'
Variabili di stampa
In questa sezione discuteremo come utilizzare le varie funzioni di stampa delle variabili.
Utilizzo della funzione io: fwrite
Avresti visto questo (io: fwrite) usato in tutti i programmi sopra. Ilfwrite funzione fa parte del modulo 'io' o Erlang, che può essere utilizzato per visualizzare il valore delle variabili nel programma.
L'esempio seguente mostra alcuni altri parametri che possono essere utilizzati con l'istruzione fwrite.
Esempio
-module(helloworld).
-export([start/0]).
start() ->
X = 40.00,
Y = 50.00,
io:fwrite("~f~n",[X]),
io:fwrite("~e",[Y]).
L'output del programma di cui sopra sarà:
Produzione
40.000000
5.00000e+1
I seguenti suggerimenti dovrebbero essere annotati sul programma sopra.
~ - Questo carattere simboleggia che è necessario eseguire una formattazione per l'output.
~f- L'argomento è un float scritto come [-] ddd.ddd, dove la precisione è il numero di cifre dopo il punto decimale. La precisione predefinita è 6 e non può essere inferiore a 1.
~n - Questo è per println su una nuova riga.
~e- L'argomento è un float scritto come [-] d.ddde + -ddd, dove la precisione è il numero di cifre scritte. La precisione predefinita è 6 e non può essere inferiore a 2.