Erlang - Variáveis

Em Erlang, todas as variáveis ​​são vinculadas à instrução '='. Todas as variáveis ​​precisam começar com o caractere maiúsculo. Em outras linguagens de programação, o sinal '=' é usado para a atribuição, mas não no caso de Erlang. Conforme declarado, as variáveis ​​são definidas com o uso da instrução '='.

Uma coisa importante a se notar em Erlang é que as variáveis ​​são imutáveis, o que significa que, para que o valor da variável mude, ela precisa ser destruída e recriada novamente.

As seguintes variáveis ​​básicas em Erlang são explicadas no último capítulo -

  • Numbers- Isso é usado para representar um número inteiro ou um ponto flutuante. Um exemplo é 10.

  • Boolean - Isso representa um valor booleano que pode ser verdadeiro ou falso.

  • Bit String- Uma string de bits é usada para armazenar uma área de memória não digitada. Um exemplo é << 40,50 >>.

  • Tuple- Uma tupla é um tipo de dados composto com um número fixo de termos. Um exemplo é {40,50}.

  • Map- Um mapa é um tipo de dados composto com um número variável de associações de valores-chave. Cada associação de valor-chave no mapa é chamada de par de associação. Um exemplo é {type => person, age => 25}.

  • List- Uma lista é um tipo de dados composto com um número variável de termos. Um exemplo é [40,40].

Declarações de variáveis

A sintaxe geral de definição de uma variável é a seguinte -

Sintaxe

var-name = var-value

Onde,

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

  • var-value - Este é o valor vinculado à variável.

A seguir 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, temos 2 variáveis, uma é X, que está ligada ao valor 40 e a próxima é Y, que está ligada ao valor 50. Outra variável chamada Resultado está ligada à adição de X e Y.

O resultado do programa acima será -

Resultado

90

Nomeando Variáveis

Conforme discutido, os nomes das variáveis ​​devem começar com letras maiúsculas. Vamos dar um exemplo de 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 você tentar compilar o programa acima, obterá o seguinte erro de tempo de compilação.

Resultado

helloworld.erl:8: variable 'Result' is unbound

Em segundo lugar, todas as variáveis ​​só podem ser atribuídas uma vez. Vamos dar um exemplo de atribuição de uma variável 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 tempo de compilação.

Resultado

helloworld.erl:6: Warning: variable 'Y' is unused
helloworld.erl:7: Warning: no clause will ever match
helloworld.erl:7: Warning: the guard for this clause evaluates to 'false'

Variáveis ​​de impressão

Nesta seção, discutiremos como usar as várias funções das variáveis ​​de impressão.

Usando a função io: fwrite

Você deve ter visto isso (io: fwrite) usado em todos os programas acima. ofwrite A função faz parte do módulo 'io' ou Erlang, que pode ser usado para gerar o valor das variáveis ​​no programa.

O exemplo a seguir mostra mais alguns 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]).

O resultado do programa acima será -

Resultado

40.000000
5.00000e+1

As dicas a seguir devem ser observadas sobre o programa acima.

  • ~ - Este caractere simboliza que alguma formatação precisa ser realizada para a saída.

  • ~f- O argumento é um float que é escrito como [-] ddd.ddd, onde a precisão é o número de dígitos após a vírgula decimal. A precisão padrão é 6 e não pode ser menor que 1.

  • ~n - Este é para println para uma nova linha.

  • ~e- O argumento é um float escrito como [-] d.ddde + -ddd, onde a precisão é o número de dígitos escritos. A precisão padrão é 6 e não pode ser menor que 2.