« Initiation au Lua avec Scribunto/L'objet Frame » : différence entre les versions
Contenu supprimé Contenu ajouté
m correction des niveaux de section |
→frame:extensionTag : ajout description de la fonction |
||
Ligne 313 :
=== frame:extensionTag ===
Cette fonction permet de poser un tag autour d'un texte. Un exemple type est le tag '''<nowiki>''' interdisant à l'interpréteur de page d'exécuter un contenu. Ainsi, si un contenu renvoyé par une fonction est susceptible d'être interprété comme un modèle, un lien ou autre, on peut utiliser la fonction '''frame:extensionTag()''' pour placer de manière automatique les balises '''<nowiki>'''.
Dans l’exemple suivant, on retourne le texte <nowiki>[[texte]]</nowiki> avec et sans l'utilisation de extensionTag.
<syntaxhighlight lang="lua">
local p = {}
function p.tag(frame)
local reponse = ""
reponse = frame:extensionTag('nowiki', '[[texte]]', {})
if reponse == nil then
return "Il y a un problème, la fonction a retourné : nil"
else
return "La fonction a retourné : "..reponse.." et son type est : "..type(reponse)
end
end
function p.notag(frame)
local reponse = ""
reponse = '[[texte]]'
if reponse == nil then
return "Il y a un problème, la fonction a retourné : nil"
else
return "La fonction a retourné : "..reponse.." et son type est : "..type(reponse)
end
end
return p
</syntaxhighlight>
Rendu avec extensionTag : '''<nowiki>{{#invoke:Frame|tag
Rendu sans extensionTag : '''<nowiki>{{#invoke:Frame|notag}}</nowiki>''' nous indique : {{#invoke:Frame|notag}}
=== frame:getArgument ===
|