English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In Erlang, tutte le variabili sono collegate alla语句‘ =’. Tutte le variabili devono iniziare con una lettera maiuscola. In altri linguaggi di programmazione, il simbolo ‘ =’ viene utilizzato per assegnare valori, ma non è applicabile a Erlang. Come menzionato in precedenza, le variabili sono definite utilizzando la语句‘ =’.
Una cosa da notare in Erlang è che le variabili sono immutabili, il che significa che per modificare il valore di una variabile, è necessario distruggere e ricreare la variabile.
Il capitolo precedente ha introdotto le seguenti variabili di base in Erlang-
Numbers−Usato per rappresentare interi o numeri a virgola mobile. Ad esempio: 10.
Booleano −Rappresenta un valore booleano, può essere true o false.
Stringa bit−Utilizza una stringa bit per memorizzare aree di memoria non tipizzate. Ad esempio: << 40,50 >>.
Tuple−Il tuple è un tipo di dati composto con un numero fisso di elementi. Ad esempio: {40,50}.
Mappa−La mappa è un tipo di dati composto con un numero variabile di associazioni chiave-valore. Ogni associazione chiave-valore nella mappa si chiama coppia di associazioni. Ad esempio: {type => person, age => 25}.
Elenco−L'elenco è un tipo di dati composto con un numero variabile di elementi. Ad esempio: [40,40].
La sintassi generale per la definizione delle variabili è la seguente -
var-name = var-value
Dove,
var-name −Questa è il nome della variabile.
var-value −Questa è il valore vincolato alla variabile.
Ecco un esempio di dichiarazione delle variabili -
示例 -module(helloworld). -export([start/0]). X = 40, Y = 50, Result = X + Y, io:fwrite("~w",[Result]).
Nel esempio sopra, abbiamo 2 variabili, una è X vincolata al valore 40, l'altra è Y vincolata al valore 50. Un'altra variabile chiamata Result è vincolata alla somma di X e Y.
L'output del programma sopra è:
90
Come sopra menzionato, i nomi delle variabili devono iniziare con una lettera maiuscola. Facciamo un esempio di variabili dichiarate in minuscolo.
示例 -module(helloworld). -export([start/0]). X = 40, Y = 50, result = X + Y, io:fwrite("~w",[Result]).
Se tenti di compilare il programma sopra menzionato, appariranno gli errori di compilazione seguenti.
helloworld.erl:8: La variabile 'Result' non è vincolata
Inoltre, tutte le variabili possono essere assegnate solo una volta. Facciamo un esempio di una variabile assegnata più di una volta.
示例 -module(helloworld). -export([start/0]). X = 40, Y = 50, X = 60, io:fwrite("~w",[X]).
Se tenti di compilare il programma sopra menzionato, riceverai gli errori di compilazione seguenti.
helloworld.erl:6: Attenzione: la variabile 'Y' non è utilizzata helloworld.erl:7: Attenzione: nessuna clausola corrisponderà mai helloworld.erl:7: Attenzione: il guardiano di questa clausola valuta a 'false'
In questa sezione, discuteremo come utilizzare le varie funzionalità di stampa delle variabili.
Dovresti già aver visto questo (io:fwrite) in tutti i programmi menzionati sopra.fwriteLa funzione è parte del modulo “io” o di Erlang e può essere utilizzata per visualizzare i valori delle variabili nel programma.
函数是“ io”模块或Erlang的一部分,可用于在程序中输出变量的值。
示例 -module(helloworld). -export([start/0]). start() -> X = 40.00, Y = 50.00, io:fwrite("~f~n",[X]),
io:fwrite("~e",[Y]).
输出 40.000000
5.00000e+1
关于上述程序,应注意以下几点。 ~
−此字符表示需要对输出进行一些格式化。~f
−参数为浮点数,写为[-] ddd.ddd,其中precision是小数点后的位数。缺省精度为6,且不能小于1。−println这是打印到新行。
~e−参数为浮点数,写为[-] d.ddde + -ddd,其中precision是写入的位数。缺省精度为6,且不能小于2。