La boucle principale
Fait partie de la section Logique et flux du Journey Lua de Coddy. Leçon 42 sur 54.
Défi
FacileDéveloppe ton application de liste de contacts en implémentant la boucle principale du programme, qui maintient l’application en fonctionnement jusqu’à ce que l’utilisateur décide de quitter.
En t’appuyant sur la configuration précédente, crée une boucle while qui affiche continuellement le menu et invite l’utilisateur à saisir une commande. La boucle doit continuer à s’exécuter jusqu’à ce que l’utilisateur saisisse quit, auquel cas le programme doit se terminer correctement.
Exigences :
- Conserve tout le code du défi précédent (la table
contactset l’affichage initial du menu) - Après avoir affiché le menu, affiche une ligne vide
- Crée une boucle
while truepour la boucle principale de l’application - À l’intérieur de la boucle, affiche l’invite :
Enter command: - Lis la saisie de l’utilisateur à l’aide de
io.read() - Si la saisie est
quit, afficheGoodbye!et interromps la boucle - Pour toute autre saisie, affiche
Command not yet implemented - Après le traitement de la commande, affiche une ligne vide avant l’invite suivante
Exemple d’interaction :
Welcome to Contact List Manager!
Available Commands:
add - Add a new contact
list - Display all contacts
search - Search for a contact
delete - Delete a contact
quit - Exit the program
Enter command:
add
Command not yet implemented
Enter command:
list
Command not yet implemented
Enter command:
quit
Goodbye!Essayez vous-même
contacts = {}
print("Welcome to Contact List Manager!")
print()
print("Available Commands:")
print("add - Add a new contact")
print("list - Display all contacts")
print("search - Search for a contact")
print("delete - Delete a contact")
print("quit - Exit the program")Toutes les leçons de Logique et flux
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() contre ipairs()Récapitulatif - Fiche de personnage2Fonctions supplémentaires de la bibliothèque table
table.concat()construction de tables et unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des meilleurs scores5Projet : moteur d’aventure textuelle
Configuration du projet : la pièceRelier les pièces8Projet : Liste de contacts
Configuration du projetLa boucle principale3Concepts avancés des fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu’est-ce qu’une fermeture ?Récapitulatif - Gestionnaire d’événements simpleEntraînez-vous par vous-même : Compilateur Lua en ligne