הצגת כל אנשי הקשר
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-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.concat()בניית טבלה ו־unpack()table.sort()מיון מותאם אישית באמצעות פונקציותסיכום – לוח שיאים5פרויקט: מנוע להרפתקת טקסט
הגדרת הפרויקט: החדרקישור בין חדרים8פרויקט: רשימת אנשי קשר
הגדרת הפרויקטהלולאה הראשיתתרגלו בעצמכם: קומפיילר Lua אונליין