Créer un module TON618 — guide complet
#1. Où vivent les modules
IMPORT://nom cherche nom.ton à deux endroits, dans l'ordre :
- Le même dossier que le script qui l'importe.
- Un sous-dossier
modules/à côté de ce script.
Un projet peut donc garder des aides ponctuelles à côté du script, et du code partagé sous modules/.
#2. Ce qu'un module peut déclarer
Un fichier module est un fichier .ton normal : il peut déclarer des variables et des fonctions (ton.function), et tout ce qu'il déclare devient disponible dans le scope global du script qui l'importe, une fois importé. Un module n'est pas un espace de noms séparé — il n'y a pas de syntaxe mathutils.add(...) ; tu appelles add(...) directement (voir la convention de nommage ci-dessous).
#3. Un exemple concret
modules/greetings.ton :
ton.function greetings_hello(nom) {
return "Bonjour, " + nom + " !"
}
ton.function greetings_bye(nom) {
return "Au revoir, " + nom + "."
}
Utilisation :
IMPORT://greetings
print(greetings_hello("kuro"))
print(greetings_bye("kuro"))
#4. Bonnes pratiques pour écrire un module
- Préfixe chaque fonction avec le nom du module lui-même (
greetings_hello, pashello) — puisque l'importation aplatit tout dans un seul scope global, c'est la seule chose empêchant deux modules (ou un module et le script principal) de silencieusement écraser les fonctions l'un de l'autre. - Garde un module centré sur une seule responsabilité ; compose plusieurs petits modules plutôt qu'un seul gros.
- Un module n'est exécuté que la première fois qu'il est importé — importer le même nom deux fois (depuis n'importe où) ne fait rien la seconde fois, donc il est sûr que deux modules différents importent tous les deux un troisième dont ils dépendent tous les deux.