« Initiation au Lua avec Scribunto/L'objet Frame » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎frame:getParent : rédaction
rédaction
Ligne 87 :
 
== Fonctions en relation avec l'objet frame ==
 
{{...}}
 
Tous les exemples de ce paragraphe se trouvent dans le [[module:Frame]]
 
==== frame:callParserFunction ====
{{...}}
 
==== frame:getParent ====
<syntaxhighlight lang="lua">
local p = {}
 
Cette fonction permet de connaître, à l'intérieur du module, leles modèlearguments etdu ses argumentsmodèle qui a appelé le module où se trouve la fonction '''frame:getParent'''. À titre d'exemple, dans le [[module:Frame]] nous écrivons la fonction '''p.Parent''' ainsi :
return p
</syntaxhighlight>
 
La fonction '''frame:getParent''' retourne une table contenant une table, indexé par la chaîne de caractère "args", qui contient tous les paramètres passer au modèle. Par exemple, si la fonction '''frame:getParent''' se trouve dans un module placé dans un modèle dont l'appel se fait ainsi :
'''<nowiki>{{#invoke:Frame|parser|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|parser|3|Tulipe|7|janvier}}
 
<source lang="text">
{{Essai
| titre = stat
| compte = ouvert
}}
</source>
 
Et si dans le module, nous avons l'instruction :
==== frame:expandTemplate ====
{{...}}
 
<syntaxhighlight lang="lua">
local pmodel = {}frame:getParent()
 
return p
</syntaxhighlight>
 
Alors model sera une table contenant la table model.args. La table model.args aura deux éléments : l'élément "stat" indexé par la chaîne de caractère "titre" et l'élément "ouvert" indexé par la chaîne de caractère "compte"
'''<nowiki>{{#invoke:Frame|template|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|template|3|Tulipe|7|janvier}}
 
 
À titre d'exemple, dans le [[module:Frame]] nous écrivons la fonction '''p.Parent''' ainsi :
==== frame:extensionTag ====
{{...}}
 
<syntaxhighlight lang="lua">
local p = {}
 
return p
</syntaxhighlight>
 
'''<nowiki>{{#invoke:Frame|tag|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|tag|3|Tulipe|7|janvier}}
 
 
==== frame:getParent ====
 
Cette fonction permet de connaître, à l'intérieur du module, le modèle et ses arguments qui a appelé le module où se trouve la fonction '''frame:getParent'''. À titre d'exemple, dans le [[module:Frame]] nous écrivons la fonction '''p.Parent''' ainsi :
 
<syntaxhighlight lang="lua">
Ligne 157 ⟶ 142 :
 
 
'''<u>Premier exemple :'''</u>
 
<source lang="text">
Ligne 168 ⟶ 153 :
 
 
'''<u>Deuxième exemple :'''</u>
 
<source lang="text">
Ligne 185 ⟶ 170 :
| nombre = 63
}}
 
 
==== frame:callParserFunction ====
{{...}}
 
<syntaxhighlight lang="lua">
local p = {}
 
return p
</syntaxhighlight>
 
'''<nowiki>{{#invoke:Frame|parser|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|parser|3|Tulipe|7|janvier}}
 
 
==== frame:expandTemplate ====
{{...}}
 
<syntaxhighlight lang="lua">
local p = {}
 
return p
</syntaxhighlight>
 
'''<nowiki>{{#invoke:Frame|template|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|template|3|Tulipe|7|janvier}}
 
 
==== frame:extensionTag ====
{{...}}
 
<syntaxhighlight lang="lua">
local p = {}
 
return p
</syntaxhighlight>
 
'''<nowiki>{{#invoke:Frame|tag|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|tag|3|Tulipe|7|janvier}}
 
 
==== frame:newChild ====