-
LecciónInvocación de funciones dentro del mismo módulo
Algunas puntualizaciones sobre llamadas a funciones pertenecientes al mismo módulo, y uso de defp para crear funciones que sólo pueden ser invocadas desde dentro del mismo módulo. -
LecciónSobre las macros, require y use
Use es una palabra clave empleada para invocar una macro declarada en otro módulo con el objetivo de importar código en nuestro módulo. Como si fuese un copia y pega, se traerá definiciones que haya en ese módulo. Require sirve para importar macros específicas. Esto requiere que presente por encima... -
LecciónPipelines
El operador Pipeline es un operador especial de Elixir que sirve para hacer más fáciles de comprender algunas invocaciones a funciones, porque nos permite separar el primer parámetro de una aplicación del resto de parámetros, algo que nos viene bien porque podemos escribir expresiones tipo a(b(c(d(e(f(x))))) como x → f... -
LecciónIntroducción al pattern matching
El pattern matching es uno de los elementos esenciales de Elixir. Con el pattern matching se pueden escribir expresiones con algunas incógnitas (en forma de variable) y dejar que sea el propio lenguaje quien trate de buscar las soluciones. Por el camino, nos dice qué valor tendrán esas incógnitas. -
LecciónCapturar funciones
Al capturar funciones podemos obtener referencias a funciones que sí esten declaradas en módulos, para poderlas emplear en casos como pasarlas como parámetro a otras funciones, parecido a las funciones anónimas. -
LecciónCómo monitorizar procesos
Un monitor permite enlazar dos procesos, pero a diferencia de lo que ocurre con un enlace normal, cuando el proceso monitorizado caiga, el proceso que monitoriza recibe un mensaje con los detalles de la caída del proceso monitorizado, para detectar una situación de error en uno de estos procesos. -
LecciónUso de la función map
La función map del módulo Enum sirve para transformar uno a uno cada elemento de una colección enumerada, recogiendo cada uno de esos elementos transformados en otra colección resultante que obtenemos tras evaluar. -
LecciónLas tuplas :ok, :error
Al hilo de lo del pattern matching y el destructuring de tuplas, en las funciones no puras de Elixir que pueden provocar errores, un patrón muy común es envolver los retornos en algún tipo de tupla que permita devolver, no sólo el retorno de la función, sino también si ha... -
LecciónResumen sobre procesos OTP
Hemos visto demasiadas cosas en la última docena de episodios. ¡Es hora de poner un poco de orden con un mindmap que ayude a aclarar las ideas! -
Lección 📈 En tendenciaCómo enviar mensajes con un GenServer
Siguiendo en el tour de los GenServer, las funciones más importantes de un GenServer son, sobre todo, handle_call; y también, handle_cast. Usaremos handle_call para gestionar llamadas síncronas por parte de los clientes que se conecten a nuestro servidor; y handle_cast para las llamadas asíncronas. 00:00 impl handle_call 06:05 GenServer.call 08:53...