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

Variables de Erlang

En Erlang, todas las variables están vinculadas con la declaración ‘=’. Todas las variables deben comenzar con una letra mayúscula. En otros lenguajes de programación, el símbolo ‘=’ se utiliza para asignar valores, pero no es aplicable a Erlang. Como se mencionó anteriormente, las variables se definen mediante la declaración ‘=’.

En Erlang, algo que hay que tener en cuenta es que las variables son inmutables, lo que significa que para cambiar el valor de una variable, es necesario destruirla y crearla de nuevo.

El capítulo anterior introdujo los siguientes tipos básicos de variables en Erlang-

  • Numbers- Se utiliza para representar enteros o números de coma flotante. Por ejemplo:10.

  • Boolean - Esto representa un valor booleano, que puede ser true o false.

  • Cadena de bits- Se utiliza la cadena de bits para almacenar áreas de memoria sin tipo. Por ejemplo:<< 40,50 >>。

  • Tuple- El tupla es un tipo de datos compuesto con un número fijo de elementos. Por ejemplo: {40,50}。

  • Map- El mapa es un tipo de datos compuesto con un número variable de claves-- La asociación de clave y valor es un tipo de datos compuesto con un número variable de claves. Por ejemplo: {type => person,age => 25}。

  • List- La lista es un tipo de datos compuesto con un número de elementos variable. Por ejemplo: [40,40]。

Declaración de variables

La sintaxis general para definir variables es la siguiente-

Sintaxis

var-name = var-value

donde,

  • var-name - Esto es el nombre del variable.

  • var-value - Esto es el valor al que está asociado el variable.

A continuación, se muestra un ejemplo de declaración de variables.-

Ejemplo

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

En el ejemplo anterior, tenemos2una variable, una está asociada al valor40 de X, la otra está asociada al valor50 de Y. Otra variable llamada Result está asociada a la suma de X y Y.

La salida del programa anterior será

Salida

90

Nombrar variables

Como se mencionó anteriormente, los nombres de las variables deben comenzar con una letra mayúscula. Vamos a dar un ejemplo de una variable declarada en minúsculas.

Ejemplo

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

Si intentas compilar el programa anterior, se producirá el siguiente error de compilación.

Salida

helloworld.erl:8: la variable 'Result' no está definida

En segundo lugar, todas las variables solo pueden asignarse una vez. Vamos a dar un ejemplo de una variable asignada más de una vez.

Ejemplo

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

Si intentas compilar el programa anterior, recibirás los siguientes errores de compilación.

Salida

helloworld.erl:6: Advertencia: la variable 'Y' no se utiliza
helloworld.erl:7: Advertencia: ninguna cláusula coincidirá nunca
helloworld.erl:7: Advertencia: el guardia de esta cláusula evalúa a 'false'

Variables de impresión

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

Usar la función io:fwrite

Ya deberías haber visto este (io:fwrite) en todos los programas anteriores.fwriteLa función es parte del módulo "io" o de Erlang y se puede usar para imprimir el valor de una variable en el programa.

Los siguientes ejemplos muestran más parámetros que se pueden usar con la declaración fwrite.

Ejemplo

-module(helloworld). 
-export([start/ 
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

Sobre el programa anterior,应注意以下几点。

  • ~ −Este carácter indica que se debe realizar algún formato en la salida.

  • ~f−El parámetro es un número flotante, escrito como [-] ddd.ddd,donde precision es el número de dígitos decimales. La precisión predeterminada es6,y no puede ser menor que1.

  • ~nprintlnEsto es imprimir en una nueva línea.

  • ~e−El parámetro es un número flotante, escrito como [-] d.ddde + -ddd,donde precision es el número de dígitos escritos. La precisión predeterminada es6,y no puede ser menor que2.