-
LecciónOperadores lógicos y proposicionales
Los operadores lógicos proposicionales evalúan a true o false según cómo de true o de false sean los inputs. NOT niega la veracidad de su input, AND sólo es true cuando ambas entradas sean true, OR es true salvo que ninguna entrada sea true. -
Lección 📈 En tendenciaFunciones recursivas con listas
Volvemos con la recursividad, esta vez para hablar de cómo aprovechar el pattern matching en listas, por ejemplo, para hacer funciones reductoras o transformadoras. Normalmente querremos usar las funciones nativas del módulo Enum o Stream, pero cuando no quede otra, tenemos a nuestra disposición recursividad. -
Lecciónmix
Mix es una herramienta que forma parte de Elixir que sirve para gestionar un proyecto, manteniendo múltiples archivos .ex con los distintos módulos que forman nuestro programa. También nos permiten compilar aplicaciones para distribuirlas, instalar nuevas dependencias, y mantener una suite de tests para comprobar el estado de nuestro proyecto. -
Lección 📈 En tendencia¿Cómo hacer rutas dinámicas en Phoenix y Plug?
Cuando se declaran las rutas en un router de Plug o de Phoenix es posible indicar rutas dinámicas si se utilizan símbolos como el dos puntos o el asterisco. Por ejemplo, /users/:id o /file/*path. En este tutorial exploramos el funcionamiento de este tipo de parámetros de ruta, vemos cómo capturarlos... -
LecciónUso de la función reduce
La función reduce del módulo Enum sirve para acumular parcialmente cada uno de los elementos de una colección enumerada entrante, hasta evaluarse completamente a un único resultado final. -
LecciónDefinición de funciones
En Elixir podremos crear nuestros propios módulos en los que insertar nuestras propias funciones, que podremos así utilizar para desarrollar programas en los que funciones propias se agrupan para componer la lógica del programa. -
LecciónControl de errores y gestión de un GenServer
Un popurrí de trucos y consejos para usar los GenServers, así como una explicación sobre cómo señalizar correctamente los errores en un GenServer mediante el átomo :stop. Síganme para más recetas: https://hexdocs.pm/elixir/GenServer.html 00:00 ¿Pero cuál de todas estas funciones debo usar? 03:35 Devolviendo :stop o :ignore en el init 07:51... -
LecciónMapas
Un mapa es una estructura asociativa que permite asociar dos expresiones entre sí formando un sistema clave-valor: toda expresión término (clave) tiene una definición (valor). Como las keyword lists, por otra parte. La diferencia es que los mapas nos dan más juego. -
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ónRangos y Streams
A diferencia de Enum.map y Enum.filter, con Stream.map y Stream.filter podemos obtener Streams. Un Stream en Elixir permite hacer procesamiento pospuesto: Elixir sabe que quiero procesar una colección con una función, pero no ejecuta el cómputo hasta que no haga falta, algo que en algunas ocasiones es ventajoso para hacer...