Aller au contenu

Module:ExempleParams

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 28 mars 2018 à 05:38 et modifiée en dernier par Izidizovilage (discuter | contributions) (Paramètres non nommés et nommés: autant mettre en tête liste ce que cela fait et pas seulement une partie de ce que cela fait). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

ExempleParams est un court module qui montre comment récupérer les paramètres à l'intérieur du module au moyen de ipairs() et de pairs(). Il s'agit d'un modèle à visée pédagogique (voir Aide:Module).

Utilisation

Fonctions exportables :

  • imprime_les_parametres(params) – cette fonction imprime les paramètres qu'on lui passe.

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

  • mw.ipairs – générateur de paramètres non nommés (ou nommés explicitement avec un numéro entier) formant une séquence continue de 1 à N, sans aucun trou.
  • mw.pairs – générateur de paramètres nommés et non nommé. Remarque: il reprend en séquence d'abord les paramètres non nommés (ou nommés avec une clé entière) formant une séquence continue de 1 à N, sans aucun trou, avant de reprendre tous les autres paramètres (chaines, et nombres entiers ou pas) dans un ordre totalement arbitraire

Exemples

{{#invoke:ExempleParams|imprime_les_parametres|paramètre non nommé 1| paramètre
 non nommé 2|troisième paramètre || cinquième |
nommé1 = couleur

| nommé2
=bleu|dernier
nommé=last }}

donne (notez quels blancs ou sauts de lignes sont éliminés ou pas des noms ou des valeurs des paramètres :

Paramètres non nommés

  • param[1] = paramètre non nommé 1
  • param[2] = paramètre
non nommé 2
  • param[3] = troisième paramètre
  • param[4] =
  • param[5] = cinquième


Paramètres non nommés et nommés

  • param{1} = paramètre non nommé 1
  • param{2} = paramètre
non nommé 2
  • param{3} = troisième paramètre
  • param{4} =
  • param{5} = cinquième
  • param{nommé1} = couleur
  • param{dernier

nommé} = last

  • param{nommé2} = bleu


{{#invoke:ExempleParams|imprime_les_parametres|écrivain|2=wallon|nom=[[Arthur Masson]]|mort à=[[Namur]]|mort en=1970|10=hors séquence|6=hors séquence aussi|1.5=belge| 3 = avec des blancs | 3.0 = avec des blancs aussi |4= |-1=entier négatif|+1=entier positif|0=entier nul|-0=entier négatif nul}}

donne :

Paramètres non nommés

  • param[1] = écrivain
  • param[2] = wallon
  • param[3] = avec des blancs
  • param[4] =


Paramètres non nommés et nommés

  • param{1} = écrivain
  • param{2} = wallon
  • param{3} = avec des blancs
  • param{4} =
  • param{6} = hors séquence aussi
  • param{0} = entier nul
  • param{+1} = entier positif
  • param{nom} = Arthur Masson
  • param{1.5} = belge
  • param{mort en} = 1970
  • param{10} = hors séquence
  • param{-1} = entier négatif
  • param{mort à} = Namur
  • param{-0} = entier négatif nul
  • param{3.0} = avec des blancs aussi


Remarquer

  • la table d'exportation de fonctions (ici « p ») contient déclaration et retour ; les fonctions exportées sont de la forme p.nomFonction() ;
  • le passage des paramètres aux fonctions exportées et leur récupération[1] (frame, pairs, ipairs) ;
  1. La récupération des paramètres s'effectue au moyen d'un mécanisme qui s'apparente à celui de getopt() (en)
-- Illustration du passage des paramètres dans les modules Lua
--    utilisation des itérations sur ipairs() et pairs()
local p = {}

function p.imprime_les_parametres(params)
	local x = ''
	local index, valeur
	local cle, val
	x = x.."'''Paramètres non nommés'''\n"
	for index,valeur in ipairs(params.args) do
		x = x..'* param['..index..'] = '..valeur..'\n'
	end
	x = x.."<br/>'''Paramètres non nommés et nommés'''\n"
	for cle,val in pairs(params.args) do
		x = x..'* param{'..cle..'} = '..val..'\n'
    end
	return x
	
end

return p