« Initiation au Lua avec Scribunto/L'objet Frame » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 348 :
=== frame:getArgument ===
Cette fonction permet de récupérer un argument passé en paramètre au module. Il y a 2 signatures possibles :
# '''frame:getArgument(number)''' - où ''number'' représente l'index de l’argument à récupérer
# '''frame:getArgument(name)''' - où ''name'' représente le nom de la clé associée à l’argument à récupérer
La fonction retourne un objet offrant une méthode ''expand()'' permettant de récupérer la valeur interprétée. Cette valeur est obtenu en appelant : '''objet:expand()''' où objet est la variable dans laquelle a été stockée le résultat de l'exécution de la fonction.
Le type de l’objet étant une table, on peut en parcourir le contenu avec les fonctions '''pairs()''' ou '''ipairs()'''. La valeur obtenue sera alors brute, c'est-à-dire non interprétée.
<syntaxhighlight lang="lua">
local p = {}
function p.argument(frame)
local reponse = ""
reponse = frame:getArgument(1)
if reponse == nil then
return "Il y a un problème, la fonction a retourné : nil"
else
return "La fonction a retourné : "..reponse:expand().." et son type est : "..type(reponse)
end
end
function p.namedArgument(frame)
local reponse = ""
reponse = frame:getArgument("fleur")
if reponse == nil then
return "Il y a un problème, la fonction a retourné : nil"
else
return "La fonction a retourné : "..reponse:expand().." et son type est : "..type(reponse)
end
end
return p
</syntaxhighlight>
'''<nowiki>{{#invoke:Frame|argument|3|fleur=Tulipe
'''<nowiki>{{#invoke:Frame|namedArgument|3|fleur=Tulipe}}</nowiki>''' nous indique : {{#invoke:Frame|namedArgument|3|fleur=Tulipe}}
=== frame:newParserValue ===
|