Bibliothèques


Exercism vise à enseigner l'aisance dans la syntaxe, les idiomes et la bibliothèque standard d'un langage. Cela ne mentionne explicitement pas les bibliothèques externes (non intégrées), car cela relève de la maîtrise. Les exercices doivent donc, à quelques exceptions près, pouvoir être résolus sans utiliser de bibliothèques.

Raisons de prendre en charge des bibliothèques

Il y a plusieurs raisons pour lesquelles un parcours peut malgré tout vouloir prendre en charge des bibliothèques :

  1. Le langage possède une bibliothèque standard (très) minimale. Un exemple de tel langage est Rust.
  2. La bibliothèque ajoute des fonctionnalités de test. Un exemple est une bibliothèque qui ajoute la prise en charge des tests basés sur des propriétés.
  3. L'exercice ne peut être résolu qu'à l'aide d'une bibliothèque. Un exemple de tel exercice est l'exercice lens-person, qui, dans la plupart des langages, ne peut être résolu qu'à l'aide d'une bibliothèque.

Prends en charge des bibliothèques dans l'exécuteur de tests

Comme l'exécuteur de tests n'a pas accès à Internet pendant son exécution, il n'est pas possible de télécharger des bibliothèques au moment de l'exécution. La seule solution à ce problème est d'installer ou de télécharger les bibliothèques au moment de la construction, où tu as bel et bien accès à Internet. En pratique, cela signifie que tu devras installer ou télécharger des bibliothèques dans le Dockerfile.

Par exemple, le Dockerfile de l'exécuteur de tests Prolog installe la bibliothèque date_time :

RUN swipl pack install date_time -y

Documentation

Si ton parcours prend en charge des bibliothèques, cela doit être documenté dans une documentation de parcours. Pense aussi à faire un lien vers ce document (en utilisant son URL complète) depuis le document exercises/shared/.docs/help.md.