« Introduction au Lua/Variables » : différence entre les versions
. |
|||
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
- Accéder au Module:Sandbox.
- Supprimer le code existant.
- 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
- Rendez-vous sur "votre page de test".
- Ajouter le code suivant et enregistrer la page:
{{#invoke:Sandbox|variables}}
Le résultat:
2
Comprendre le nouveau script
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.
- 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é
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...
= 1
Assigne la valeur1
à 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.
- Les variables qui ne sont pas initialisées ; c-à-d qui n'ont pas de valeur, sont considérées comme
variable = variable + 1
La variablevariable
est égale à elle-même plus1
.- Une variable peur s'utiliser aussi bien comme source que comme destination d'une expression (un calcul).
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.
- La réponse de la fonction sera passée à la variable initiale du module qui doit être une table (généralement
{{#invoke:Sandbox|variables}}
Appel la fonctionvariables
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.