« Initiation au Lua avec Scribunto/Gestion de l'environnement » : différence entre les versions

Contenu supprimé Contenu ajouté
rédaction
Ligne 216 :
Dans les chapitres précédents, nous avons dit qu'une variable ou une fonction déclarée avec le mot-clé '''local''' n'est utilisable qu'a l'intérieur du module où elles sont déclarées. Cette affirmation sous-entend que si l'on n'emploie pas le mot-clé '''local''', alors la variable ou la fonction déclarées devrait pouvoir être utilisée dans un autre module. Dans ce paragraphe, nous allons donc étudier comment utiliser les variables et les fonctions créées dans un autre module sans le mot-clé '''local'''.
 
Le principal intérêt de cette possibilité va être de pouvoir se confectionner des modules contenant des fonctions qui peuvent être utiles dans plusieurs autres modules en évitant ainsi de devoir réécrire sesces fonctions dans chaque module.
 
La fonction préprogrammée qui va nous permettre d'appeler le contenu d'un autre module est la fonction '''require'''. Prenons un exemple : Dans le [[module:Fonction]], nous avions écrit une fonction '''f''' qui élève un nombre au carré. Dans un autre [[module:Aspire]], essayons d'y inclure le module Fonction et de créer une fonction '''carre''' qui appelle la fonction '''f''' pour élever un nombre au carré :
Ligne 234 :
</syntaxhighlight>
 
Nous remarquons que laLa fonction '''require''' attend une chaîne de caractères. Nous avons donc dû mettre '''Module:Fonction''' entre guillemet. Ne pas oublier, aussi, le mot '''Module'''. Si l'on avait écrit '''require("Fonction")''', nous aurions eu une erreur de script.
 
 
'''<nowiki>{{#invoke:Aspire|carre|7}}</nowiki>''' nous donne : {{#invoke:Aspire|carre|7}}
 
 
Nous avons bien obtenu 7 au carré qui donne 49. On peut aussi vérifier que l'on peut récupérer une variable déclarée dans le module que l'on appelle avec '''require''' a condition que cette variable ne soit pas déclarée avec le mot clé '''local''', sinon on obtient une erreur de script.
 
== Priorité de l'interpréteur ==