Module:Tables

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche

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 = {}

local circuit = {"Laurent","Cécile","Alain","Cloé","Amandine"}

function p.insertion()
	local reponse = " "
	reponse = reponse.."<br/><u>voitures avant l'arrivée de Natacha.</u>"
	for voiture, conducteur in ipairs(circuit) do
		reponse = reponse.."<br />La voiture "..voiture.." est conduite par "..conducteur.."."
	end
	table.insert(circuit,3,"Natacha")
	reponse = reponse.."<br/><u>voitures après l'arrivée de Natacha dans la voiture 3.</u>"
	for voiture, conducteur in ipairs(circuit) do
		reponse = reponse.."<br />La voiture "..voiture.." est conduite par "..conducteur.."."
	end
	return reponse
end

function p.retrait()
	local reponse = " "
	local souffrant
	reponse = reponse.."<br/><u>voitures au départ du circuit.</u>"
	for voiture, conducteur in ipairs(circuit) do
		reponse = reponse.."<br />La voiture "..voiture.." est conduite par "..conducteur.."."
	end
	souffrant = table.remove(circuit,3)
	reponse = reponse.."<br/><u>voitures après le départ de "..souffrant.." de la voiture 3.</u>"
	for voiture, conducteur in ipairs(circuit) do
		reponse = reponse.."<br />La voiture "..voiture.." est conduite par "..conducteur.."."
	end
	return reponse
end

function p.conducteurs()
	return table.concat(circuit," et aussi ",2,5)
end

function p.sup()
	return table.maxn(circuit)
end

function p.trie()
	table.sort(circuit)
	return "le nouvel ordre est : "..table.concat(circuit,", ")
end

return p