Список всех контактов
Часть раздела Логика и управление потоком путешествия по Lua на Coddy. Урок 44 из 54.
Задание
ЛегкоРеализуйте функциональность вывода списка для вашего приложения по управлению контактами. Когда пользователь вводит list, программа должна отображать все сохраненные контакты в отформатированном виде.
Опираясь на предыдущее задание, добавьте функциональность для обработки команды list. Используйте ipairs() для итерации по таблице contacts и отображения информации о каждом контакте. Если список пуст, сообщите об этом пользователю.
Требования:
- Сохраните весь код из предыдущего задания (настройку, отображение меню, основной цикл и функциональность добавления)
- Когда пользователь вводит
list, проверьте, пуста ли таблицаcontacts - Если она пуста, выведите:
No contacts found. - Если не пуста, выведите:
Contact List: - Используйте
ipairs()для итерации по таблицеcontacts - Для каждого контакта выведите данные в формате:
[index]. [name] - [phone] - Команды
addиquitдолжны по-прежнему работать, как и раньше - Другие команды должны по-прежнему выводить
Command not yet implemented
Пример взаимодействия:
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!Попробуйте сами
-- 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
endВсе уроки раздела Логика и управление потоком
1Продвинутая итерация таблиц
Итерация с помощью pairs()Итерация с помощью ipairs()pairs() против ipairs()Повторение — Лист персонажа2Дополнительные функции библиотеки table
table.concat()Создание таблиц и unpack()table.sort()Пользовательская сортировка с помощью функцийИтоги — Таблица рекордов5Проект: Движок текстового квеста
Настройка проекта: КомнатаСоединение комнат8Проект: Список контактов
Настройка проектаОсновной циклПотренируйтесь самостоятельно: Онлайн-компилятор Lua