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.