04_Modules - HellperKK/Stoicos GitHub Wiki

De la limite des variables

Si les variables permettent de contenir des valeurs, cela peut devenir délicat quand il y a de nombreuses valeurs à gérer. Par exemple plus d'une cinquantaine de valeurs (principalement des fonctions) sont définies par défaut dans leurs propre variables. De plus, certaines fonctions pourraient avoir des noms en conflit quand leur fonction est similaire, comme la fonction length pour compter soit les caractères d'une chaîne de caractères soit les éléments d'un tableau.

Pour corriger ceci, les modules offrent une solution à la fois simple et efficace.

Définition

Un module est une valeur spéciale contenant plusieurs valeurs nommées qui une fois stocké dans une variable permet l'accès d'une valeur nommée par la syntaxe variable.nom . Pour reprendre l'exemple des fonctions length, celle pour les chaînes de caractères se trouve dans le module String et est accessible via String.length et celle sur les tableaux l'est via Array.length.

En outre, voici la liste des modules présents par défaut :

  • Array pour les tableaux
  • String pour les chaînes de caractères
  • Struct pour les modules
  • File pour les fichiers
  • Game pour la création de jeux
  • Math pour les fonctions mathématiques
  • Map pour les dictionnaires

Convention de nom

On nottera d'ailleurs que chaque module voit son nom commencer par une majuscule et que son nom représente soit le type de donnée qu'il manipule, soit sa fonction. Ce n'est pas obligatoire mais fortement encouragé, en tant que convention de nommage.