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 p.somme1(frame)
	local limite = frame.args[1] + 0
	local reponse = 0
	local entier = 1
	while reponse < limite do
		reponse = reponse + entier
		entier = entier + 1
	end
	return reponse
end

function p.somme2(frame)
	local limite = frame.args[1] + 0
	local reponse = 0
	local entier = 1
	repeat
		reponse = reponse + entier
		entier = entier + 1
	until reponse > limite
	return reponse
end

function p.echo(frame)
	local nom = frame.args[1]
	local occurence = frame.args[2] + 0
	local reponse = " "
	for i = 1, occurence do
		reponse = reponse.." "..nom
	end
	return reponse
end

function fact(n)
    if n == 0 then
        return 1 -- on renvoie la valeur 1 quand le paramètre vaut 0
    else
        return n * fact(n - 1)
    end
end

function p.factorielle(frame)
	return fact(frame.args[1])
end

return p