Erlang - sintaxe básica
Para entender a sintaxe básica de Erlang, vamos primeiro examinar um Hello World programa.
Exemplo
% hello world program
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("Hello, world!\n").
As seguintes coisas precisam ser observadas sobre o programa acima -
O sinal% é usado para adicionar comentários ao programa.
A instrução do módulo é como adicionar um namespace como em qualquer linguagem de programação. Então, aqui, estamos mencionando que este código fará parte de um módulo chamadohelloworld.
A função de exportação é usada para que qualquer função definida no programa possa ser usada. Estamos definindo uma função chamada start e para usar a função start, temos que usar a instrução export. o/0 significa que nossa função 'start' aceita 0 parâmetros.
Finalmente definimos nossa função inicial. Aqui usamos outro módulo chamadoioque tem todas as funções de entrada e saída necessárias em Erlang. Usamos ofwrite para enviar “Hello World” para o console.
O resultado do programa acima será -
Resultado
Hello, world!
Forma Geral de uma Declaração
Em Erlang, você viu que existem diferentes símbolos usados na linguagem Erlang. Vamos ver o que vimos em um programa simples Hello World -
O símbolo de hífen (–)geralmente é usado junto com o módulo, instrução de importação e exportação. O símbolo de hífen é usado para dar significado a cada declaração de acordo. Assim, exemplos do programa Hello world são mostrados no seguinte programa -
-module(helloworld).
-export([start/0]).
Cada declaração é delimitada por um ponto (.)símbolo. Cada instrução em Erlang precisa terminar com este delimitador. Um exemplo do programa Hello world é mostrado no programa a seguir -
io:fwrite("Hello, world!\n").
A barra (/) O símbolo é usado junto com a função para definir o número de parâmetros que são aceitos pela função.
-export([start/0]).
Módulos
Em Erlang, todo o código é dividido em módulos. Um módulo consiste em uma sequência de atributos e declarações de funções. É como um conceito de namespace em outras linguagens de programação que é usado para separar logicamente diferentes unidades de código.
Definindo um módulo
Um módulo é definido com o identificador do módulo. A sintaxe geral e o exemplo são os seguintes.
Sintaxe
-module(ModuleName)
o ModuleName precisa ser igual ao nome do arquivo menos a extensão .erl. Caso contrário, o carregamento do código não funcionará conforme o esperado.
Exemplo
-module(helloworld)
Esses módulos serão abordados em detalhes nos capítulos seguintes, apenas para que você tenha um entendimento básico de como um módulo deve ser definido.
Declaração de importação em Erlang
Em Erlang, se alguém deseja usar a funcionalidade de um módulo Erlang existente, pode usar a instrução import. A forma geral da declaração de importação é descrita no programa a seguir -
Exemplo
-import (modulename, [functionname/parameter]).
Onde,
Modulename - Este é o nome do módulo que precisa ser importado.
functionname/parameter - A função no módulo que precisa ser importada.
Vamos mudar a maneira como escrevemos nosso programa hello world para usar uma instrução import. O exemplo seria conforme mostrado no programa a seguir.
Exemplo
% hello world program
-module(helloworld).
-import(io,[fwrite/1]).
-export([start/0]).
start() ->
fwrite("Hello, world!\n").
No código acima, estamos usando a palavra-chave import para importar a biblioteca 'io' e, especificamente, o fwritefunção. Portanto, agora, sempre que invocarmos a função fwrite, não precisamos mencionar oio nome do módulo em todos os lugares.
Palavras-chave em Erlang
Uma palavra-chave é uma palavra reservada em Erlang que não deve ser usada para finalidades diferentes daquelas para as quais foi destinada. A seguir está a lista de palavras-chave em Erlang.
depois de | e | e também | banda |
início | bnot | bor | bsl |
bsr | bxor | caso | pegar |
cond | div | fim | Diversão |
E se | deixei | não | do |
ou | se não | receber | rem |
tentar | quando | xor |
Comentários em Erlang
Os comentários são usados para documentar seu código. Comentários de linha única são identificados usando o%símbolo em qualquer posição na linha. A seguir está um exemplo para o mesmo -
Exemplo
% hello world program
-module(helloworld).
% import function used to import the io module
-import(io,[fwrite/1]).
% export function used to ensure the start function can be accessed.
-export([start/0]).
start() ->
fwrite("Hello, world!\n").