« 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,
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
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 :
<source lang="text">
Ligne 168 ⟶ 153 :
<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 ====
|