¿Cómo funciona la REPL de Elixir?

Arrancamos la REPL de Elixir (iex) por primera vez, y vemos cómo escribir algunas expresiones simples que se devuelven a sí mismas.

Para comenzar a trabajar con Elixir, una de las herramientas más útiles que tenemos a nuestra disposición es la consola interactiva llamada IEX. Esta consola es una RPL, que significa Read-Eval-Print Loop, es decir, un ciclo que lee lo que escribimos, evalúa esa entrada, imprime el resultado y vuelve a esperar una nueva entrada. Esto nos permite escribir y ejecutar código de forma inmediata, lo que facilita enormemente el aprendizaje y la experimentación con el lenguaje.

A diferencia de otros lenguajes donde solemos escribir programas completos en archivos y luego ejecutarlos, en Elixir podemos interactuar directamente con el intérprete a través de IEX. Esto es especialmente valioso porque Elixir es un lenguaje funcional basado en expresiones, y la consola nos permite probar esas expresiones una a una para entender cómo funcionan.

Para abrir IEX, simplemente debemos teclear iex en la terminal o símbolo del sistema después de haber instalado Elixir. En Windows, si usamos PowerShell, hay que tener en cuenta que iex es una palabra reservada del propio PowerShell, por lo que debemos usar iex.bat para lanzar la consola de Elixir correctamente. En versiones antiguas de Windows, el instalador de Elixir incluye una ventana especial que funciona como consola y facilita la interacción, aunque con un aspecto más clásico.

Al iniciar IEX, veremos información sobre la máquina virtual de Erlang en la que corre Elixir, la versión del lenguaje y algunas indicaciones para salir de la consola, como pulsar CTRL-C y luego a para abortar la ejecución y salir sin problemas.

Dentro de IEX, lo que escribimos son expresiones de Elixir. Una expresión es cualquier combinación válida de letras, números y símbolos que representa código que Elixir puede interpretar. Al igual que en matemáticas, el orden y la forma en que escribimos estas expresiones es fundamental para que tengan sentido y produzcan resultados correctos.

Un ejemplo sencillo de expresión es un dato primitivo, como el número 15. Cuando escribimos 15 en IEX y pulsamos Enter, Elixir evalúa esa expresión y nos devuelve el mismo valor, porque es un dato que no puede simplificarse más. Pero la mayoría de las expresiones que escribiremos serán más complejas y estarán formadas por otras expresiones anidadas, como si fueran muñecas rusas. Cada expresión puede contener otras expresiones más pequeñas, y al final siempre llegamos a datos puros.

El ciclo que sigue IEX es muy sencillo pero poderoso: primero lee la expresión que escribimos, luego la evalúa para obtener un resultado, después imprime ese resultado en pantalla y finalmente vuelve a esperar una nueva expresión. Esto nos permite experimentar y aprender de forma interactiva, viendo al instante cómo se comporta cada fragmento de código.

Así, la consola IEX se convierte en una herramienta fundamental para entender los conceptos esenciales de Elixir y para practicar la escritura de expresiones en un entorno inmediato y dinámico. Conforme avancemos, iremos explorando los diferentes tipos de expresiones que existen en Elixir y cómo se evalúan, pero siempre partiendo de esta base interactiva que nos ofrece la RPL.

Lista de reproducción
  1. 1
    ¿Qué es Elixir?
    10 minutos
  2. 2
    Instalación de Elixir
    9 minutos
  3. 3
    ¿Qué es la programación funcional? (Como la de Elixir)
    20 minutos
  4. 4
    ¿Cómo funciona la REPL de Elixir?
    7 minutos
  5. 5
    ¿Cómo hacer asignaciones en Elixir?
    7 minutos
  6. 6
    Operadores aritméticos básicos
    6 minutos
  7. 7
    ¿Qué son los tipos de datos de Elixir?
    5 minutos
  8. 8
    Átomos en Elixir
    4 minutos
  9. 9
    Las palabras clave nil, true y false
    6 minutos
  10. 10
    Operadores lógicos de comparación
    8 minutos
  11. 11
    Comparación estricta con ===
    3 minutos
  12. 12
    Operadores lógicos y proposicionales
    8 minutos
  13. 13
    Invocación de funciones
    10 minutos
  14. 14
    Fundamentos de funciones
    9 minutos
  15. 15
    Cadenas de caracteres
    8 minutos
  16. 16
    Entrada y salida estandar de la mano de gets y puts
    9 minutos
  17. 17
    Concatenar e interpolar strings
    9 minutos
  18. 18
    Código fuente en archivos
    9 minutos
  19. 19
    Condicional IF y bloques DO-END
    11 minutos
  20. 20
    IFs anidados, UNLESS y COND
    12 minutos
  21. 21
    Definición de funciones
    11 minutos
  22. 22
    Fundamentos de compilación de módulos
    6 minutos
  23. 23
    Guardas
    8 minutos
  24. 24
    Funciones anónimas
    7 minutos
  25. 25
    Capturar funciones
    4 minutos
  26. 26
    Invocación de funciones dentro del mismo módulo
    7 minutos
  27. 27
    Tuplas
    8 minutos
  28. 28
    Introducción al pattern matching
    8 minutos
  29. 29
    Pattern matching en funciones
    11 minutos
  30. 30
    Las tuplas :ok, :error
    7 minutos
  31. 31
    case
    10 minutos
  32. 32
    Operador pin
    7 minutos
  33. 33
    Pattern matchings y recursividad
    5 minutos
  34. 34
    Listas
    9 minutos
  35. 35
    Operadores y funciones de lista
    10 minutos
  36. 36
    Keyword lists: listas de palabras clave
    8 minutos
  37. 37
    Mapas
    7 minutos
  38. 38
    Pattern matching de mapas y keyword lists
    6 minutos
  39. 39
    Operadores y funciones para mapas y keyword lists
    5 minutos
  40. 40
    Estructuras con defstruct
    11 minutos
  41. 41
    Bitstrings
    11 minutos
  42. 42
    Charlists
    10 minutos
  43. 43
    Funciones de alto orden en Elixir
    5 minutos
  44. 44
    Uso de la función filter
    10 minutos
  45. 45
    Uso de la función map
    7 minutos
  46. 46
    Uso de la función reduce
    9 minutos
  47. 47
    Pipelines
    11 minutos
  48. 48
    Rangos y Streams
    11 minutos
  49. 49
    Funciones recursivas con listas
    14 minutos