Do you want to pick up from where you left of?
Take me there

Lessons: Intermediate

Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.

Tâches Mix Personnalisées

Créer des tâches Mix personnalisées pour votre projet Elixir.

Interopérabilité Erlang

Un des bénéfices de coder par dessus la VM Erlang (BEAM) provient de la pléthore de librairies existantes disponibles. L’interoperabilité permet d’utiliser ces librairies et la librairie standard d’Erlang depuis notre code Elixir. Dans cette leçon nous allons voir comment nous pouvons accéder aux fonctionnalités de la librairie standard d’Erlang mais aussi les librairies tierces d’Erlang.

Traitement des erreurs

Bien qu’il soit commun pour les fonctions de retourner un tuple {:error, reason}, Elixir supporte les exceptions. Dans cette leçon, nous expliquons comment prendre en charge les erreurs, et nous passerons en revue les mécanismes disponibles.

En général, la convention en Elixir est de créer une fonction (example/1) qui retourne {:ok, result} ou {:error, reason}, et une fonction à part (example!/1) qui retourne simplement result ou lève une erreur. Nous nous concentrerons sur le second cas dans cette leçon.

Fichier exécutable

Pour construire un fichier exécutable avec Elixir, nous utilisons escript. Escript produit un fichier qui peut être exécuté sur n’importe quel système disposant d’une installation Erlang.

Concurrence

Une caractéristique phare de Elixir est son support de la concurrence. Grâce à la machine virtuelle de Erlang, BEAM, la programmation concurrente en Elixir est aisée. Le modèle de concurrence repose sur des Acteurs, c’est-à-dire des processus qui communiquent avec d’autres processus en échangeant des messages.

Dans cette lesson, nous passons en revue les modules d’Elixir dédiés à la programmation concurrente. Nous aborderons dans les chapitres suivants OTP, une plateforme qui en tire parti.