Ajouter un contact
Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 43 sur 54.
Défi
FacileImplémentez la fonctionnalité d'ajout de contact pour votre application de gestion de liste de contacts. Lorsque l'utilisateur saisit add, le programme doit demander les détails du contact et les stocker dans la liste des contacts.
En vous basant sur la boucle principale précédente, ajoutez la fonctionnalité pour gérer la commande add. Lorsque cette commande est saisie, demandez à l'utilisateur un nom et un numéro de téléphone, créez une table de contact avec ces détails, et ajoutez-la à la liste contacts en utilisant table.insert().
Exigences :
- Conservez tout le code du défi précédent (configuration, affichage du menu et boucle principale)
- Lorsque l'utilisateur saisit
add, affichez :Enter name: - Lisez le nom en utilisant
io.read() - Affichez :
Enter phone number: - Lisez le numéro de téléphone en utilisant
io.read() - Créez une table de type dictionnaire avec les clés
nameetphone - Insérez cette table de contact dans la liste
contactsen utilisanttable.insert() - Affichez :
Contact added successfully! - La commande
quitdoit toujours fonctionner comme auparavant - Les autres commandes doivent toujours afficher
Command not yet implemented
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
Enter name:
Alice
Enter phone number:
555-1234
Contact added successfully!
Enter command:
add
Enter name:
Bob
Enter phone number:
555-5678
Contact added successfully!
Enter command:
list
Command not yet implemented
Enter command:
quit
Goodbye!Essayez vous-même
-- Initialize the contacts table
local contacts = {}
-- Display welcome message and menu
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")
print()
-- Main program loop
while true do
print("Enter command:")
local command = io.read()
if command == "quit" then
print("Goodbye!")
break
else
print("Command not yet implemented")
end
print()
endToutes 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 scores5Projet : Moteur de jeu d'aventure textuel
Configuration du projet : La pièceRelier les pièces8Projet : Liste de contacts
Configuration du projetLa boucle principale3Concepts 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 simple