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

Variáveis do Erlang

Em Erlang, todas as variáveis estão ligadas à instrução ‘=’. Todas as variáveis precisam começar com uma letra maiúscula. Em outros linguagens de programação, o símbolo ‘=’ é usado para atribuição, mas não é aplicável ao Erlang. Como mencionado anteriormente, as variáveis são definidas usando a instrução ‘=’.

Uma coisa a notar no Erlang é que as variáveis são imutáveis, o que significa que para mudar o valor de uma variável, é necessário destruí-la e criá-la novamente.

O capítulo anterior introduziu as seguintes variáveis básicas no Erlang-

  • Numbers− Usado para representar números inteiros ou de ponto flutuante. Por exemplo:10.

  • Boolean − Isso representa um valor booleano, que pode ser true ou false.

  • Bit String− O bit string é um tipo de dados que armazena uma área de memória não tipificada. Por exemplo: << 40,50 >>。

  • Tuple− Um tupla é um tipo de dados composto com um número fixo de itens. Por exemplo: {40,50}。

  • Map− O mapa é um tipo de dados composto com um número variável de chaves-− Um mapa é um tipo de dados composto com valores associados. Cada par de chave-valor em um mapa é chamado de par de associação. Por exemplo: {type => person, age => 25}。

  • List− A lista é um tipo de dados composto com um número variável de itens. Por exemplo: [40,40]。

Declaração de variável

A sintaxe geral para definir variáveis é a seguinte-

Sintaxe

var-name = var-value

Onde,

  • var-name − Isso é o nome da variável.

  • var-value − Isso está ligado ao valor da variável.

Aqui está um exemplo de declaração de variável-

Exemplo

-module(helloworld). 
-export([start/0]). 
start() -> 
   X = 40, 
   Y = 50, 
   Result = X + Y, 
   io:fwrite("~w",[Result]).

No exemplo acima, temos2uma variável, uma ligada ao valor40 de X, a outra é ligada ao valor50 de Y. Outra variável chamada Result está ligada à adição de X e Y.

A saída do programa acima será

Saída

90

Nomear variáveis

Como mencionado acima, o nome da variável deve começar com uma letra maiúscula. Vamos usar como exemplo uma variável declarada em minúsculas.

Exemplo

-module(helloworld). 
-export([start/0]). 
start() -> 
   X = 40, 
   Y = 50, 
   result = X + Y, 
   io:fwrite("~w",[Result]).

Se tentar compilar o programa acima, aparecerá o seguinte erro de compilação.

Saída

helloworld.erl:8: a variável 'Result' não está definida

Em segundo lugar, todas as variáveis só podem ser alocadas uma vez. Vamos dar um exemplo de uma variável alocada mais de uma vez.

Exemplo

-module(helloworld). 
-export([start/0]). 
start() -> 
   X = 40, 
   Y = 50, 
   X = 60, 
   io:fwrite("~w",[X]).

Se você tentar compilar o programa acima, receberá o seguinte erro de compilação.

Saída

helloworld.erl:6: Aviso: a variável 'Y' não está em uso
helloworld.erl:7: Aviso: nenhuma cláusula coincidirá
helloworld.erl:7: Aviso: a guarda para essa cláusula avaliou como 'falso'

Variáveis de impressão

Nesta seção, discutiremos como usar as várias funcionalidades de impressão de variáveis.

Usando a função io:fwrite

Você deve ter visto isso em todos os programas acima (io:fwrite).fwriteA função é parte do módulo "io" ou do Erlang e pode ser usada para outputar o valor de uma variável no programa.

Os seguintes exemplos mostram mais parâmetros que podem ser usados com a instrução fwrite.

Exemplo

-module(helloworld). 
-export([start/0]). 
start() -> 
   X = 40.00, 
   Y = 50.00, 
   io:fwrite("~f~n",[X]), 
   io:fwrite("~e",[Y]).

A saída do programa acima será-

Saída

40.000000
5.00000e+1

A respeito do programa acima, devem ser observados os seguintes pontos.

  • ~ −Este caractere indica que o formato de saída deve ser formatado.

  • ~f−O parâmetro é um número flutuante, escrito como [-] ddd.ddd, onde precision é o número de dígitos após o ponto decimal. A precisão padrão é6E não pode ser menor que1.

  • ~nprintlnIsso imprime na nova linha.

  • ~e−O parâmetro é um número flutuante, escrito como [-] d.ddde + -ddd, onde precision é o número de dígitos a serem escritos. A precisão padrão é6E não pode ser menor que2.