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

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- l'on + l’on )
m Robot : Remplacement de texte automatisé (- l'utiliser + l’utiliser)
Ligne 13 :
== Nature de l’objet frame ==
 
Une remarque que l’on peut faire à propos de l’objet '''frame''' et de la façon de l'utiliserl’utiliser comme l'accès aux arguments '''frame.args[1]''', '''frame.args[2]''', etc. est la ressemblance avec les notations relatives aux tables. '''frame''' serait une table et '''frame.args''' que l’on pourrait aussi noter '''frame["args"]''' serait une table, indexée par la chaîne de caractères "args", se trouvant dans la table '''frame'''. Par contre '''frame.args''' serait une table à accès numérique. C'est pour cela que l’on note ses arguments '''frame.args[1]''', '''frame.args[2]''', etc.
 
En réalité, ce que l’on vient de dire n'est pas tout à fait vrai. À l'appel d'un module avec #invoke, la table '''frame''' n'est pas créée et remplie tel que l’on vient de le dire. Quand l’on fait appel à un élément de la table numérique '''frame.arg''', une méta-méthode est activée pour demander l’objet souhaité au logiciel MediaWiki. La table '''frame''' est en réalité une méta-table remplie de méta-méthodes dont la fonction est de simuler l’existence d'une table qui contiendrait les éléments décrits plus haut alors, qu'en réalité, ils sont demandés au fur et à mesure des besoins au logiciel MediaWiki.