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

Contenu supprimé Contenu ajouté
→‎frame:getParent : rédaction
→‎frame:getParent : rédaction
Ligne 128 :
 
==== 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'''. PourÀ donner un exempletitre d'utilisationexemple, nous commencerons par créerdans le [[Modèlemodule:ParentsFrame]] utilisantnous troisécrivons paramètres,la dansfonction lequel'''p.Parent''' nous écrivonsainsi :
 
<syntaxhighlight lang="lua">
local p = {}
 
function p.parent(frame)
<nowiki>{{Parents|Grenouille|rouge|4}}</nowiki> nous donne :
local reponse = ""
local model = frame:getParent()
for index, objet in pairs(model.args) do
reponse = reponse.."<br />À la clé "..index..", il y a l'objet : "..objet
end
return preponse
end
 
return p
</syntaxhighlight>
 
 
Nous créons ensuite un [[Modèle:Parents]] dans lequel nous écrivons :
 
<source lang="text">
Les arguments du modèle appelant ont été :{{#invoke:Frame|parent}}
</source>
 
 
Nous donnerons deux exemples.
 
 
'''Premier exemple :'''
 
<source lang="text">
{{Parents|Grenouille|rouge|4}}
</source>
 
nous donne :
 
<nowiki>{{Parents|Grenouille|rouge|4}}</nowiki> nous donne :
<syntaxhighlight lang="lua">
local p = {}
 
return p
</syntaxhighlight>
 
'''Deuxième exemple :'''
'''<nowiki>{{#invoke:Frame|parent|3|Tulipe|7|janvier}}</nowiki>''' nous indique : {{#invoke:Frame|parent|3|Tulipe|7|janvier}}
 
<source lang="text">
{{Parents
| titre = Planing
| couleur = vert
| nombre = 63
}}
</source>
 
nous donne :
 
{{Parents
| titre = Planing
| couleur = vert
| nombre = 63
}}
 
==== frame:newChild ====