Introduction au Lua/Scribunto
Apparence
Lua est implémenté sur Mediawiki grâce à l'extension Scribunto/Lua extension/fr et stocke ses ressources dans un espace de nom nommé "Module:" dont le numéro est 828/829 [1]...
Créons notre premier script Lua via Scribunto pour la Wikiversité
[modifier | modifier le wikicode]- Accéder au Module:Sandbox.
- Supprimer son contenu.
- :Le module "Sandbox" est fait pour les tests, tout le monde est libre de faire ses propres expériences, si vous remarquez qu'un autre utilisateur en train d’éditer cette page, vous pouvez aussi Créer une sous-page Sandbox/Votre_nom.
- Coller le code suivant et enregistrer la page :
local p = {} function p.hello() return 'Bonjour !' end return p
Testons notre premier script Lua dans l'environnement Mediawiki
[modifier | modifier le wikicode]- Accéder soit au Bac à sable, soit à votre page utilisateur ou encore votre propre bac à sable.
- Ajouter le code suivant et sauvegarder:
{{#invoke:Sandbox|hello}}
Le résultat devrait être:
Bonjour !
Editons notre premier script Lua
[modifier | modifier le wikicode]- Retourner sur la page Module:Sandbox.
- Éditer la ligne
return 'Bonjour !'
et ajouter votre nom à l’intérieur des guillemets, afin d'obtenir quelque chose de semblable:return 'Hello Lua !'
. - Enregistrer.
- Retourner sur votre page de test, plus rapide vous pouvez utiliser la propre page de discussion du module comme page de test.
- Rafraîchissez la page pour voir votre nom retourné par le script.
Le résultat doit ressembler à ceci:
Bonjour Lua !
Comment fonctionne notre premier script?
[modifier | modifier le wikicode]local p = {}
Initialise une table ou "array" pour notre code et la nommep
.function p.hello()
Défini une fonction nomméehello
qui s'applique à la table. Une fonctions est invoquée (appelée) par son nom à partir d'une page quelconque en dehors du module.return 'Bonjour !'
Retourne la chaîne de caractèresBonjour !
quand la fonction est appelée.end
Termine la fonction.return p
Retourne finalement le résultat de la fonction à travers la table à tout processus qui charge ce module.
Le code qui appel le script se compose ainsi:
#invoke:
Mot-clef pour invoquer un module Lua/ScribuntoSandbox
Précise le nom du module à charger.hello
Spécifie le nom de la fonction à exécuter.
{{#invoke:Sandbox|hello}} | Mot-clé | 1er Paramètre | 2e Paramètre |
---|---|---|---|
Code |
#invoke: |
Sandbox |
hello |
Usage |
Spécifie l'action - ici charger un module et appeler une fonction. |
Spécifie le nom du module. |
Spécifie le nom de la fonction à l’intérieur du module qui doit être exécutée. |
Conclusion
[modifier | modifier le wikicode]Félicitation, vous avez créé, testé, édité et compris votre premier script Lua en environnement Mediawiki. Continuez avec la leçon Modules.
Références
[modifier | modifier le wikicode]