Introduction au Lua/Modules

Leçons de niveau 12
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Modules
Icône de la faculté
Chapitre no 4
Leçon : Introduction au Lua
Chap. préc. :Scribunto
Chap. suiv. :Variables
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Introduction au Lua : Modules
Introduction au Lua/Modules
 », n'a pu être restituée correctement ci-dessus.


Les modules Lua basés sur l'extension Scribunto sont de simples pages regroupées dans un espace de nom particulier que l'on nomme Module: auxquels Mediawiki associe un numéro d'identifiant. Les pages des modules seront donc accessible via leur titre Module:Nom_du_module. Les modules utilisent une table pour stocker les fonctions et variables, cette table est retournée à la fin du code du module[1]. Nous verrons dans cette leçon comment ajouter plusieurs fonctions dans un même module.

Prérequis[modifier | modifier le wikicode]

Cette leçon suppose que vous ayez assimilé la leçon Scribunto.

Créer un script Lua avec plusieurs fonctions[modifier | modifier le wikicode]

  1. Éditer Module:Sandbox.
  2. Supprimer le code existant.
  3. Ajouter le code suivant puis enregistrer la page :
local p = {}
 
function p.hello()
    return 'Hello !'
end

function p.meet()
    return 'Ravi de vous rencontrer !'
end

return p

Tester votre script[modifier | modifier le wikicode]

  1. Accéder à votre page de test que nous appellerons: "votre page de test".
  2. Ajouter le code suivant puis enregistrer la page:
* {{#invoke:Sandbox|hello}}
* {{#invoke:Sandbox|meet}}

Le résultat devrait être:

  • Bonjour !
  • Ravi de vous rencontrer !

Comprendre votre script[modifier | modifier le wikicode]

  1. function p.hello() Définit une fonction nommée hello.
  2. function p.meet() Définit une fonction nommée meet.
  3. {{#invoke:Sandbox|hello}} Appelle la fonction hello du module Sandbox.
  4. {{#invoke:Sandbox|meet}} Appelle la fonction meet du module Sandbox.

Chaque module contient une ou plusieurs fonctions qui peuvent être appelées individuellement.

Conclusion[modifier | modifier le wikicode]

Félicitations ! Vous avez créé, testé et compris comment fonctionne un module Lua avec plusieurs fonctions. Continuez avec la leçon sur les Variables.

Références[modifier | modifier le wikicode]

Lua for Wikiversity (en)