Alle Kontakte auflisten
Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 44 von 54.
Aufgabe
EinfachImplementieren Sie die Listenfunktionalität für Ihre Kontaktlisten-Anwendung. Wenn der Benutzer list eingibt, sollte das Programm alle gespeicherten Kontakte in einer formatierten Weise anzeigen.
Bauen Sie auf der vorherigen Herausforderung auf und fügen Sie die Funktionalität zur Verarbeitung des Befehls list hinzu. Verwenden Sie ipairs(), um durch die Tabelle contacts zu iterieren und die Informationen jedes Kontakts anzuzeigen. Wenn die Liste leer ist, informieren Sie den Benutzer entsprechend.
Anforderungen:
- Behalten Sie den gesamten Code aus der vorherigen Herausforderung bei (Setup, Menüanzeige, Hauptschleife und Add-Funktionalität)
- Wenn der Benutzer
listeingibt, prüfen Sie, ob die Tabellecontactsleer ist - Falls leer, geben Sie aus:
No contacts found. - Falls nicht leer, geben Sie aus:
Contact List: - Verwenden Sie
ipairs(), um durch die Tabellecontactszu iterieren - Geben Sie für jeden Kontakt das folgende Format aus:
[index]. [name] - [phone] - Die Befehle
addundquitsollten weiterhin wie zuvor funktionieren - Andere Befehle sollten weiterhin
Command not yet implementedausgeben
Beispiel-Interaktion:
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!Probier es selbst
-- 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
endAlle Lektionen in Logic & Flow
1Fortgeschrittene Table-Iteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen4Einführung in Metatables
Was ist eine Metatable?setmetatable & getmetatableDie __index-MetamethodeDie __newindex-MetamethodeDie __tostring-MetamethodeArithmetische Metamethoden Teil 1Arithmetische Metamethoden Teil 2Zusammenfassung – Schreibgeschützte Tabellen7Fortgeschrittene String-Manipulation
string.gsub() für ErsetzungenEinführung in String-Patternsstring.find()string.match()Iterieren mit string.gmatch()Rückblick – Log-File-Parser2Weitere Funktionen der Table-Bibliothek
table.concat()Tabellenerstellung & unpack()table.sort()Benutzerdefiniertes Sortieren mit FunktionenRückblick – Highscore-Tabelle5Projekt: Text-Adventure-Engine
Projekt-Setup: Der RaumRäume verknüpfen8Projekt: Kontaktliste
Projekt-SetupDie Hauptschleife