English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Erlang 模块

Un modulo è un insieme di funzioni riorganizzate in un singolo file con un nome singolo. Inoltre, tutte le funzioni in Erlang devono essere definite nel modulo.

La maggior parte delle funzioni di base, come operazioni aritmetiche, logiche e operatori booleani, sono disponibili perché il modulo predefinito è caricato durante l'esecuzione del programma. Ogni altra funzione definita nel modulo che utilizzerai necessita di essere caricata utilizzando Module: Function (Arguments) è il modo per chiamarlo.

Definizione del modulo

Utilizzando il modulo, è possibile dichiarare due tipi di contenuti: funzioni e proprietà. Le proprietà sono metadati che descrivono il modulo stesso, come il suo nome, le funzioni visibili all'esterno, l'autore del codice, ecc. Questi metadati sono molto utili perché forniscono istruzioni al compilatore su come completare il suo lavoro e permettono di recuperare informazioni utili dal codice compilato senza dover consultare il codice sorgente.

La sintassi per la dichiarazione di una funzione è la seguente :

Sintassi

-module(modulename)

Qui, modulename è il nome del modulo. Questo deve essere nel primo rigo del codice del modulo. Il programma seguente mostra un esempio di un modulo chiamato helloworld.

Esempio

-module(helloworld). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello World").

Il risultato dell'esecuzione del codice sopra è un "-"

Hello World

Proprietà del modulo

Le proprietà del modulo definiscono proprietà specifiche del modulo, composte da un etichetta e un valore.

La sintassi generale è -

Sintassi

-Tag(Value)

Esempio di programma sotto per illustrare come utilizzare le proprietà del modulo -

Esempio

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello World").

Il programma sopra definisce 2 proprietà personalizzate: author e version, che rappresentano rispettivamente l'autore e il numero di versione del programma.

Il risultato dell'esecuzione del codice sopra è un "-"

Hello World

Proprietà preconfigurate

Erlang ha alcune proprietà preconfigurate che possono essere collegate ai moduli, vediamole.

Esportazione

Le proprietà esportate utilizzeranno una lista di funzioni e numeri di parametri per esportare in altri moduli. Definiranno l'interfaccia del modulo. Abbiamo visto questo nei nostri esempi precedenti.

Sintassi

export([FunctionName1/FunctionArity1,.,FunctionNameN/FunctionArityN])

qui

  • FunctionName − Questo è il nome della funzione nel programma;

  • FunctionArity − Questo è il numero di parametri associati alla funzione;

Esempio

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 
start() -> 
   io:fwrite("Hello World").

Il risultato dell'esecuzione del codice sopra è un "-"

Hello World

Importazione

L'attributo di importazione viene utilizzato per importare funzioni da un altro modulo per utilizzarle localmente

Sintassi

-import(modulename, [functionname/parameter]).

qui

  • Modulename − Questo è il nome del modulo che deve essere importato

  • functionname/parameter − Questo è la funzione che deve essere importata nel modulo

Esempio

-module(helloworld). 
-import(io,[fwrite/1]). 
-export([start/0]). 
start() -> 
   fwrite("Ciao, mondo!\n").

Nel codice sopra, usiamo la parola chiave "import" per importare la libreria "io", specificando l'importazione della funzione "fwrite". Quindi, ogni volta che chiamiamo la funzione fwrite, non dobbiamo aggiungere il nome del modulo ogni volta.

Il risultato dell'esecuzione del codice sopra è un "-"

Ciao, mondo!