Elencare tutti i contatti
Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 44 di 54.
Sfida
FacileImplementa la funzionalità di elenco per la tua applicazione di gestione dei contatti. Quando l'utente inserisce list, il programma dovrebbe visualizzare tutti i contatti salvati in un formato ordinato.
Partendo dalla sfida precedente, aggiungi la funzionalità per gestire il comando list. Usa ipairs() per scorrere la tabella contacts e visualizzare le informazioni di ciascun contatto. Se l'elenco è vuoto, informa l'utente di conseguenza.
Requisiti:
- Mantieni tutto il codice della sfida precedente (configurazione, visualizzazione del menu, ciclo principale e funzionalità di aggiunta)
- Quando l'utente inserisce
list, verifica se la tabellacontactsè vuota - Se è vuota, stampa:
No contacts found. - Se non è vuota, stampa:
Contact List: - Usa
ipairs()per scorrere la tabellacontacts - Per ogni contatto, stampa nel formato:
[index]. [name] - [phone] - I comandi
addequitdovrebbero continuare a funzionare come prima - Gli altri comandi dovrebbero continuare a stampare
Command not yet implemented
Esempio di interazione:
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:
list
No contacts found.
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
Contact List:
1. Alice - 555-1234
2. Bob - 555-5678
Enter command:
quit
Goodbye!Provalo tu
-- Initialize contacts list
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 loop
while true do
print("Enter command:")
local command = io.read()
if command == "add" then
print("Enter name:")
local name = io.read()
print("Enter phone number:")
local phone = io.read()
local contact = {name = name, phone = phone}
table.insert(contacts, contact)
print("Contact added successfully!")
print()
elseif command == "quit" then
print("Goodbye!")
break
else
print("Command not yet implemented")
print()
end
endTutte le lezioni di Logica e flusso
1Iterazione avanzata delle tabelle
Iterare con pairs()Iterare con ipairs()pairs() vs. ipairs()Riepilogo - Scheda del personaggio2Altre funzioni della libreria table
table.concat()Costruzione di tabelle e unpack()table.sort()Ordinamento personalizzato con funzioniRiepilogo - Tabellone dei punteggi più alti5Progetto: Motore per avventure testuali
Configurazione del progetto: la stanzaCollegare le stanze8Progetto: Rubrica
Configurazione del progettoIl ciclo principaleEsercitati da solo: Compilatore Lua online