< Initiation au Lua avec Scribunto < Exercices



Exercice 5-1

Un des problèmes possibles, lorsqu'on écrit une grande table dont les clés sont des chaînes de caractère, est que, sans le faire exprès, on risque d’utiliser la même clé plusieurs fois. Nous allons donc étudier ce cas de figure dans cet exercice.

Soit la table suivante :

local Categorie = { ["Prénom"] = "Christine", ["Mois"] = "Avril", ["Métier"] = "Boulanger", ["Poisson"] = "Truite",
	["Métal"] = "Argent", ["Poisson"] = "Sardine", ["Planète"] = "Saturne", ["Instrument"] = "Piano"}

Nous voyons que nous avons utilisé la clé "Poisson" deux fois.

Écrire une fonction p.listecle qui permet d'énumérer le contenu de cette table en utilisant la fonction pairs.

Que remarque-t-on ?



Exercice 5-2

Nous savons que la fonction pairs retourne trois valeurs : Une fonction itérative, la table concernée et la valeur nil. Écrire une fonction p.test testant le type des valeurs retournées par la fonction ainsi que leur action sur un exemple. Réécrire la fonction p.farfouille donnée en exemple dans le cours en court-circuitant la fonction pairs. On utilisera la fonction next comme fonction itérative.

Exercice 5-3

Même exercice que précédemment avec la fonction p.description donnée en exemple dans le cours pour la fonction ipairs :

local souk = {"flute", "pipo", "manche à balaie", "serpière", "jeu de cartes", "coton tige", "tourne vis", "rateau", "stylo", "poupée"}

function p.description()
	local reponse = " "
	for index, objet in ipairs(souk) do
		reponse = reponse.."<br />à la clé numéro "..index.." se trouve l’objet "..objet.."."
	end
	return reponse
end

On court-circuitera la fonction ipairs en utilisant une fonction itérative suivant que l’on écrira pour l’occasion.



Exercice 5-4

(à compléter)


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.