Aller au contenu

« Introduction au Lua/Variables » : différence entre les versions

Une page de Wikiversité, la communauté pédagogique libre.
Contenu supprimé Contenu ajouté
Youni Verciti (discussion | contributions)
.
Ligne 13 : Ligne 13 :
# Supprimer le code existant.
# Supprimer le code existant.
# Ajouter le code suivant et enregistrer la page:
# Ajouter le code suivant et enregistrer la page:
<source lang="lua">
<blockquote><pre>
local p = {}
local p = {}
Ligne 24 : Ligne 24 :
return p
return p
</source>
</pre></blockquote>


== Tester votre script ==
== Tester votre script ==

Version du 9 janvier 2016 à 18:36

Nous savons que les modules Lua pour Scribunto/Mediawiki sont des pages rassemble dans un espace de nom nommé "Module:". Le module utilisera une table comme variable locale, pour retourner sa réponse qui aboutira à l'affichage de texte sur une page Wiki. Cette variable est incontournable elle est définie au début et retournée à la fin de chaque module (on la nomme communément "p"). Le code de vos fonction va lui aussi manipuler des variables nous allons étudier comment.

Variables are places that store values[1] ...

Prérequis

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

Créer un script Lua avec des variables

  1. Accéder au Module:Sandbox.
  2. Supprimer le code existant.
  3. Ajouter le code suivant et enregistrer la page:
local p = {}
 
function p.variables()
    local variable = 1
 
    variable = variable + 1
    return variable
end
 
return p

Tester votre script

  1. Rendez-vous sur "votre page de test".
  2. Ajouter le code suivant et enregistrer la page:
{{#invoke:Sandbox|variables}}

Le résultat:

2

Comprendre le nouveau script

  1. local Défini le périmètre de la variable que vous déclarez.
    Si vous êtes familier avec la notion de portée des variable, soyez attentif. Les variables Lua sont "global" par défaut. La bonne pratique consiste à utiliser systématiquement des variables local pour garantir que votre variable et sa valeur soit accessible uniquement à l’intérieur de la fonction. Donc vous utiliserez le mot clé local en prélude à la déclaration de vos variables.
  2. variable Défini le nom de la variable.
    Le nom des variable est libre à l'exception des mots-clés du langage. Par exemple local, if, then sont des noms réservés que vous ne devez pas utiliser pour nommer vos variables. cf bonnes pratiques et mots réservés...
  3. = 1 Assigne la valeur 1 à la variable nommée: variable.
    Les variables qui ne sont pas initialisées ; c-à-d qui n'ont pas de valeur, sont considérées comme nil. Ceci constitue une caractéristique fondamentale du langage Lua, "nil" est un type de variable et représente l’absence de valeur.
  4. variable = variable + 1 La variable variable est égale à elle-même plus 1.
    Une variable peur s'utiliser aussi bien comme source que comme destination d'une expression (un calcul).
  5. return variable Retourne la valeur courante de la variable comme résultat de la fonction.
    La réponse de la fonction sera passée à la variable initiale du module qui doit être une table (généralement p = {}. Finalement se sont les valeurs contenues dans la table du module qui seront converties en texte (lequel sera interprété sous forme de page par le processus qui à appelé la fonction du module). Les valeurs numériques sont donc implicitement converties en chaine de texte avant d'être renvoyées.
  6. {{#invoke:Sandbox|variables}} Appel la fonction variables du module Sandbox.

Chaque fonction peut utiliser une ou plusieurs variables pour contenir des valeurs intermédiaires ou des valeurs à retourner. Lua permet de stocker une fonction dans une variable.

Conclusion

Félicitation! Vous êtes capable de créer, tester et comprendre un script Lua qui contient des variables. Continuez avec la leçon Expressions.

Voir aussi

References

Lua for Wikiversity by Dave (en)

  1. http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual