Erlang - Variables

En Erlang, todas las variables están vinculadas con la declaración '='. Todas las variables deben comenzar con mayúsculas. En otros lenguajes de programación, el signo '=' se usa para la asignación, pero no en el caso de Erlang. Como se indicó, las variables se definen con el uso de la declaración '='.

Una cosa clave a tener en cuenta en Erlang es que las variables son inmutables, lo que significa que para que el valor de la variable cambie, debe destruirse y recrearse nuevamente.

Las siguientes variables básicas en Erlang se explican en el último capítulo:

  • Numbers- Se utiliza para representar un número entero o un flotante. Un ejemplo es 10.

  • Boolean - Esto representa un valor booleano que puede ser verdadero o falso.

  • Bit String- Se utiliza una cadena de bits para almacenar un área de memoria sin escribir. Un ejemplo es << 40,50 >>.

  • Tuple- Una tupla es un tipo de datos compuestos con un número fijo de términos. Un ejemplo es {40,50}.

  • Map- Un mapa es un tipo de datos compuestos con un número variable de asociaciones clave-valor. Cada asociación clave-valor del mapa se denomina par de asociación. Un ejemplo es {tipo => persona, edad => 25}.

  • List- Una lista es un tipo de datos compuestos con un número variable de términos. Un ejemplo es [40,40].

Declaraciones de variables

La sintaxis general para definir una variable es la siguiente:

Sintaxis

var-name = var-value

Dónde,

  • var-name - Este es el nombre de la variable.

  • var-value - Este es el valor vinculado a la variable.

A continuación se muestra un ejemplo de declaración de variable:

Ejemplo

-module(helloworld). 
-export([start/0]). 

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

En el ejemplo anterior, tenemos 2 variables, una es X, que está vinculada al valor 40 y la siguiente es Y, que está vinculada al valor de 50. Otra variable llamada Resultado está vinculada a la suma de X e Y.

La salida del programa anterior será:

Salida

90

Nombrar variables

Como se discutió, los nombres de las variables deben comenzar con mayúsculas. Tomemos un ejemplo de una variable declarada en minúsculas.

Ejemplo

-module(helloworld). 
-export([start/0]). 

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

Si intenta compilar el programa anterior, obtendrá el siguiente error de tiempo de compilación.

Salida

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

En segundo lugar, todas las variables solo se pueden asignar una vez. Tomemos un ejemplo de asignación de una variable más de una vez.

Ejemplo

-module(helloworld). 
-export([start/0]). 

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

Si intenta compilar el programa anterior, recibirá el siguiente error de tiempo de compilación.

Salida

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'

Impresión de variables

En esta sección discutiremos cómo utilizar las diversas funciones de las variables de impresión.

Uso de la función io: fwrite

Habría visto esto (io: fwrite) utilizado en todos los programas anteriores. losfwrite La función es parte del módulo 'io' o Erlang, que se puede usar para generar el valor de las variables en el programa.

El siguiente ejemplo muestra algunos parámetros más que se pueden usar con la instrucción fwrite.

Ejemplo

-module(helloworld). 
-export([start/0]). 

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

La salida del programa anterior será:

Salida

40.000000
5.00000e+1

Deben tenerse en cuenta las siguientes indicaciones sobre el programa anterior.

  • ~ - Este carácter simboliza que es necesario realizar algún formato para la salida.

  • ~f- El argumento es un flotante que se escribe como [-] ddd.ddd, donde la precisión es el número de dígitos después del punto decimal. La precisión predeterminada es 6 y no puede ser menor que 1.

  • ~n - Esto es para println a una nueva línea.

  • ~e- El argumento es un flotante que se escribe como [-] d.ddde + -ddd, donde la precisión es el número de dígitos escritos. La precisión predeterminada es 6 y no puede ser menor que 2.