عرض كافة جهات الاتصال
جزء من قسم Logic & Flow في رحلة Lua على Coddy — الدرس 44 من 54.
التحدي
سهلقم بتنفيذ وظيفة القائمة (list) لتطبيق مدير قائمة جهات الاتصال الخاص بك. عندما يدخل المستخدم 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جميع دروس Logic & Flow
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائج5مشروع: محرك مغامرة نصية
إعداد المشروع: الغرفةربط الغرف8مشروع: قائمة جهات الاتصال
إعداد المشروعالحلقة التكرارية الرئيسية