-
LecciónCó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... -
LecciónCharlists
Si alguna vez te ha pasado la de crear una lista de enteros y que te lo muestre como un montón de caracteres, no es que se haya roto tu instalación de Elixir, es que estás tratando con una charlist. No se usa mucho, pero ahí está. 00:00 Introducción a... -
LecciónPattern matching en funciones
El pattern matching de Elixir puede ser aprovechado en funciones para distintos propósitos. Por ejemplo, en vez de usar guardas, si queremos forzar a meter parámetros concretos en posiciones concretas, podemos poner una constante en los parámetros. Además, las funciones de destructuring también están disponibles. -
LecciónSigilos
Un sigilo es un símbolo que insertamos junto a una expresión para que Elixir la trate de forma especial. Normalmente se usan para crear listas de átomos o cadenas de caracteres sin escribir tanta comilla o para no tener que escapar las comilas en una string o una charlist, pero... -
LecciónMás particularidades de ExUnit
ExUnit no es la librería de TDD más sofisticada del mundo, pero ofrece pequeños apoyos para facilitar escribir tests. Tenemos otros asertos para comprobar que algo es falso o que el intercambio de mensajes entre procesos de OTP se hace bien, así como hooks adicionales. -
LecciónPattern matching de mapas y keyword lists
Ambas estructuras nos permiten usar el pattern matching para casar estructuras en función de si tienen o no elementos, además de poder sacar por el camino el valor de estas claves. -
LecciónDependencias
Normalmente en Elixir el código que escribimos no vive aislado, sino que es habitual utilizar funciones escritas en otros proyectos con los que nos conectamos, para reutilizar módulos y no programar lo mismo dos veces. hex.pm es el gestor de paquetes primario de Elixir para estos fines y en este... -
LecciónCómo enlazar procesos para detectar fallos
Las funciones link y unlink van a ser el primer paso para conectar dos procesos de tal forma que la caída de un proceso (por error de programación, error de ejecución o porque lo hayamos dejado caer intencionalmente) afecte a otro proceso. -
LecciónFunciones de alto orden en Elixir
En Elixir, como en muchos lenguajes de programación funcionales, en vez de tener un montón de funciones especializadas en un montón de tipos de datos diversos, tenemos funciones generales de alto orden que aceptan como parámetro más funciones, con las cuales podemos especificar cómo queremos que funcionen. -
LecciónOperadores y funciones para mapas y keyword lists
Veamos qué operadores tenemos a nuestra disposición para trabajar con keyword lists. Con mapas es un poco más complicado porque no nos vale el operador ++, pero tenemos el módulo Map para hacer todo este tipo de cosas.