Initiation au Lua avec Scribunto/Exercices/Sur les fonctions basiques

Sur les fonctions basiques
Image logo représentative de la faculté
Exercices no5
Leçon : Initiation au Lua avec Scribunto
Chapitre du cours : Fonctions basiques

Exercices de niveau 10.

Exo préc. :Sur les structures de contrôle
Exo suiv. :Sur les chaînes de caractères
En raison de limitations techniques, la typographie souhaitable du titre, « Exercice : Sur les fonctions basiques
Initiation au Lua avec Scribunto/Exercices/Sur les fonctions basiques
 », n'a pu être restituée correctement ci-dessus.



Exercice 5-1

modifier

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

modifier

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

modifier

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

modifier

(à compléter)