Lessons: Intermediate
Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.
Créer des tâches Mix personnalisées pour votre projet Elixir.
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.
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.
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.
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.