Module:Passage

Une page de Wikiversité, la communauté pédagogique libre.

Ce module sert d'exemple dans la leçon Initiation au Lua avec Scribunto. son utilisation est décrite en détail dans celle-ci et, par conséquent, ce module ne doit pas être modifié sans tenir compte de la leçon.


local p = {}

function val(x)     -- x est sensé être un nombre
	x = x + 3       -- On essaye d'incrémenté de 3 le contenu de x
end

function ref(x)     -- x est sensé être un tableau
	x[1] = x[1] + 3 -- On essaye d'incrémenté de 3 la première valeur du tableau
end

function p.valeur(frame)
	local a = tonumber(frame.args[1])   -- a est déclaré comme nombre et est initialisé avec la valeur de l'argument
	val(a)                              -- appel de la fonction ici a contient un nombre
	return a                            -- On retourne le contenu de a pour voir s'il a été modifié
end

function p.reference(frame)
	local a = {tonumber(frame.args[1])} -- a est déclaré comme tableau et est initialisé avec la valeur de l'argument en a[1]
	ref(a)                              -- appel de la fonction, ici a contient un tableau
	return a[1]                         -- On retourne le contenu de a pour voir s'il a été modilié
end

return p