English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Para entender a sintaxe básica do Erlang, vamos primeiro ver um exemplo simplesHello WorldPrograma.
% Programinha hello world -module(helloworld). -export([start/0]). start() -> io:fwrite("Hello, world!\n").
Sobre o programa acima, devemos notar os seguintes pontos:
O símbolo % é usado para adicionar comentários ao programa.
A declaração module é como adicionar um espaço de nome em qualquer linguagem de programação. Aqui, devemos mencionar que este código será parte de um módulo chamado helloworld.
Pode usar a função export para usar qualquer função definida no programa. Estamos definindo uma função chamada start, para usar a função start, devemos usar a declaração export./0 representa que nossa função 'start' aceita 0 parâmetros.
Nós finalmente definimos a função start. Aqui usamos outro módulo chamado io, que no Erlang possui todas as funções de entrada e saída necessárias. Usamos a função fwrite para output "Hello World" no console.
A saída do programa acima será-
Hello, world!
No Erlang, você já viu diferentes símbolos no idioma Erlang. Vamos ver o que vimos em um programa Hello World simples-
Hífen(–)Geralmente usado com instruções de módulo, importação e exportação. O hífen é usado para atribuir significado correspondente a cada instrução. Portanto, o exemplo do programa Hello World é mostrado no seguinte programa-
-module(helloworld). -export([start/0]).
Cada instrução é delimitada por um ponto(.)Delimitador. Cada instrução no Erlang precisa terminar com esse delimitador. O exemplo do programa Hello World é o seguinte:
io:fwrite("Hello, world!\n").
barra invertida(/)O símbolo é usado juntamente com a função para definir o número de parâmetros aceitos pela função.
-export([start/0]).
No Erlang, todo o código é dividido em módulos. O módulo é composto por uma série de declarações de atributos e funções. Assim como o conceito de namespace em outros idiomas de programação, este namespace é usado para logicamente separar diferentes unidades de código.
Usar o identificador do módulo para definir o módulo. A sintaxe geral e exemplos são os seguintes.
-module(ModuleName)
EsteModuleNameA necessidade é o mesmo nome do arquivo menos a extensão.erlSe não, o carregamento do código não será conforme o esperado.
-module(helloworld)
Esses módulos serão detalhados em capítulos posteriores, apenas para que você tenha uma compreensão básica de como definir módulos.
No Erlang, se você quiser usar as funções de um módulo existente no Erlang, pode usar a instrução import. O seguinte programa descreve a forma geral da instrução import.-
-import (modulename, [functionname/parameter]).
Onde
Nome do módulo−Este é o nome do módulo que precisa ser importado.
Nome da função/Parâmetro −funções necessárias no módulo.
Vamos alterar a maneira de escrever um programa hello world usando a instrução import. O exemplo será mostrado no seguinte programa.
% Programinha hello world -module(helloworld). -import(io,[fwrite/1]). -export([start/0]). start() -> fwrite("Hello, world!\n").
No código acima, usamos a palavra-chave import para importar a biblioteca "io", especialmentefwritefunção. Portanto, agora, a cada chamada da função fwrite, não é necessário mencionar em qualquer lugarioNome do módulo.
As palavras-chave são palavras reservadas do Erlang e não devem ser usadas para outros propósitos além dos previstos. Aqui está a lista de palavras-chave do Erlang.
after | and | andalso | band |
begin | bnot | bor | bsl |
bsr | bxor | case | catch |
cond | div | end | fun |
if | let | not | of |
or | orelse | receive | rem |
try | when | xor |
Os comentários são usados para registrar o código. O comentário de uma linha é identificado por um símbolo % em qualquer posição da linha. Aqui está o mesmo-
% Programinha hello world -module(helloworld). % Importar função, para importar o módulo io -import(io,[fwrite/1]). % Exportar função, para garantir que o função de inicialização possa ser acessada. -export([start/0]). start() -> fwrite("Hello, world!\n").