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

Módulos do Erlang

O módulo é um grupo de funções recombinação em um único arquivo com um único nome. Além disso, todas as funções no Erlang devem ser definidas em módulos.

A maioria das funções básicas, como operações aritméticas, lógicas e operadores booleanos, já estão disponíveis, pois o módulo padrão é carregado durante a execução do programa. Cada outra função definida no módulo que você vai usar precisa ser carregada usando Módulo: Função (Argumentos) para chamar.

Definição do módulo

Usando o módulo, podem ser declarados dois tipos de conteúdo: funções e propriedades. As propriedades são metadados que descrevem o próprio módulo, como seu nome, funções visíveis para o exterior, autor do código, etc. Esses metadados são muito úteis, pois informam ao compilador como ele deve trabalhar, e também permitem que informações úteis sejam extraídas do código compilado, sem a necessidade de consultar o código-fonte.

A sintaxe da declaração de função é:

Gramática

-module(modulename)

Aqui, modulename é o nome do módulo. Isso deve estar na primeira linha do código do módulo. O seguinte programa mostra um exemplo de um módulo chamado helloworld.

Exemplo

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

O resultado da saída do código acima é -

Hello World

Propriedades do módulo

As propriedades do módulo definem propriedades específicas do módulo, compostas por marcadores e valores.

A sintaxe geral das propriedades é -

Gramática

-Tag(Value)

O exemplo de programa abaixo é usado para demonstrar como usar as propriedades do módulo. -

Exemplo

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

Definição do programa acima2propriedades personalizadas: author e version, usadas respectivamente para representar o autor e o número da versão do programa.

O resultado da saída do código acima é -

Hello World

Propriedades pré-construídas

O Erlang tem algumas propriedades pré-construídas que podem ser conectadas a módulos, vamos ver.

export

As propriedades exportadas usarão a lista de quantidade de funções e parâmetros para exportar para outros módulos. Ele definirá a interface do módulo. Vimos isso em nossos exemplos anteriores.

Gramática

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

Aqui

  • FunctionName − Este é o nome da função no programa;

  • FunctionArity − Este é o número de parâmetros associados à função;

Exemplo

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

O resultado da saída do código acima é -

Hello World

Importação

A propriedade de importação é usada para importar funções de outro módulo para uso local

Gramática

-import(modulename, [functionname/parâmetro]).

Aqui

  • Nomenodemódulo − Este é o nome do módulo que precisa ser importado

  • nomedafunção/parâmetro − Esta é a função que precisa ser importada no módulo

Exemplo

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

No código acima, usamos a palavra-chave import para importar a biblioteca 'io', especificando a importação da função fwrite. Portanto, agora, a cada chamada da função fwrite, não é necessário levar o nome do módulo a cada vez.

O resultado da saída do código acima é -

Olá, mundo!