En Elixir, las variables son dinámicas y están diseñadas para trabajar en un entorno funcional. A diferencia de otros lenguajes, las variables en Elixir son inmutables, lo que significa que no puedes cambiar su valor, pero puedes reasignarlas a un nuevo valor. Este enfoque promueve la seguridad y predictibilidad en el código.
A continuación, te explicamos cómo declarar y utilizar variables en Elixir.
Para declarar una variable, simplemente asigna un valor utilizando el operador =. No es necesario especificar el tipo de dato, ya que Elixir lo infiere automáticamente.
nombre = "Juan"
edad = 30
activo = true
nombre = "Ana"
IO.puts(nombre) # Salida: Ana
edad = 25
IO.puts(edad) # Salida: 25
En Elixir, las variables no cambian su valor. Sin embargo, puedes reasignarlas en un contexto diferente, lo que crea una nueva asociación de valor.
x = 10
x = x + 5
IO.puts(x) # Salida: 15
En este caso, no se modificó el valor original de x, sino que se creó una nueva asociación con el valor 15.
| Tipo de dato | Ejemplo | Descripción |
|---|---|---|
| Integer |
edad = 30
|
Números enteros. |
| Float |
pi = 3.1416
|
Números decimales. |
| Boolean |
activo = true
|
Valores lógicos: true o false.
|
| String |
nombre = "Ana"
|
Cadenas de texto. |
| Listas |
frutas = "manzana", "pera"]
|
Conjuntos de valores ordenados. |
| Tuplas |
coordenadas = {10, 20}
|
Agrupaciones fijas de valores. |
Las listas son colecciones de datos que puedes recorrer fácilmente.
frutas = ["manzana", "pera", "uva"]
IO.inspect(frutas) # Salida: ["manzana", "pera", "uva"]
Las tuplas son agrupaciones inmutables de valores.
coordenadas = {10, 20}
IO.inspect(coordenadas) # Salida: {10, 20}
Puedes incluir valores de variables en cadenas de texto utilizando la sintaxis #{}.
nombre = "Carlos"
IO.puts("Hola, #{nombre}!") # Salida: Hola, Carlos!
| Característica | Descripción |
|---|---|
| Declaración |
Asignación directa con =.
|
| Tipos de datos | Inferidos automáticamente. |
| Inmutabilidad | Las variables no cambian su valor, pero puedes reasignarlas. |
| Contexto funcional | Diseñado para operaciones inmutables y seguras. |
Para más detalles, visita la documentación oficial de Elixir.
Jorge García
Fullstack developer