Récapitulatif - Générateur de nombres
Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 53 sur 54.
Défi
FacileÉcrivez une fonction createNumberGenerator qui prend count et renvoie une chaîne de caractères montrant tous les nombres générés par une coroutine.
Créez une coroutine qui génère des nombres séquentiellement en commençant par 1. Chaque fois que la coroutine est reprise, elle doit produire (yield) le nombre suivant de la séquence. Reprenez la coroutine count fois pour collecter tous les nombres générés, puis renvoyez-les sous forme d'une seule chaîne de caractères avec chaque nombre sur une nouvelle ligne.
Logique :
- Créez une fonction qui utilise une boucle pour produire les nombres 1, 2, 3, etc.
- Enveloppez cette fonction dans une coroutine en utilisant
coroutine.create() - Reprenez la coroutine
countfois, en collectant chaque nombre produit - Concaténez tous les nombres avec des caractères de nouvelle ligne entre eux
- Renvoyez la chaîne concaténée
Paramètres :
count(nombre) : Le nombre de valeurs à générer à partir de la séquence
Retourne : Une chaîne contenant tous les nombres générés séparés par des sauts de ligne (string). Format : 1\n2\n3
Essayez vous-même
function createNumberGenerator(count)
-- Écrivez le code ici
end
Toutes les leçons de Logic & Flow
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() vs. ipairs()Récapitulatif - Fiche de personnage2Plus de fonctions de la bibliothèque table
table.concat()Construction de table & unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des scores3Concepts avancés sur les fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu'est-ce qu'une closure ?Récapitulatif - Gestionnaire d'événements simple6Gestion des erreurs
La fonction error()Appels protégés avec pcall()Récapitulatif - Division sécurisée9Les coroutines pour débutants
Qu'est-ce qu'une coroutine ?coroutine create & resumePause avec coroutine.yield()resume & yieldVérifier l'état d'une coroutineRécapitulatif - Générateur de nombresRécapitulatif - Calcul vectoriel