הוספת איש קשר
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 43 מתוך 54.
אתגר
קלממשו את התכונה להוספת אנשי קשר ליישום רשימת אנשי הקשר שלכם. כשהמשתמש מזין add, התוכנית צריכה לבקש את פרטי איש הקשר ולשמור אותם ברשימת אנשי הקשר.
בהתבסס על הלולאה הראשית מהאתגר הקודם, הוסיפו פונקציונליות לטיפול בפקודה add. כשהפקודה הזו מוזנת, בקשו מהמשתמש שם ומספר טלפון, צרו טבלת איש קשר עם הפרטים האלה והוסיפו אותה לרשימת contacts באמצעות table.insert().
דרישות:
- השאירו את כל הקוד מהאתגר הקודם (הגדרה, הצגת התפריט והלולאה הראשית)
- כשהמשתמש מזין
add, הדפיסו:Enter name: - קראו את השם באמצעות
io.read() - הדפיסו:
Enter phone number: - קראו את מספר הטלפון באמצעות
io.read() - צרו טבלה בסגנון מילון עם המפתחות
nameו-phone - הוסיפו את טבלת איש הקשר לרשימת
contactsבאמצעותtable.insert() - הדפיסו:
Contact added successfully! - הפקודה
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:
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
Command not yet implemented
Enter command:
quit
Goodbye!נסו בעצמכם
-- Initialize the contacts table
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 program loop
while true do
print("Enter command:")
local command = io.read()
if command == "quit" then
print("Goodbye!")
break
else
print("Command not yet implemented")
end
print()
endכל השיעורים ביחידה לוגיקה וזרימת התוכנית
1איטרציה מתקדמת בטבלאות
איטרציה באמצעות pairs()איטרציה באמצעות ipairs()pairs() לעומת ipairs()סיכום – גיליון דמות2פונקציות נוספות של ספריית הטבלאות
table.concat()בניית טבלה ו־unpack()table.sort()מיון מותאם אישית באמצעות פונקציותסיכום – לוח שיאים5פרויקט: מנוע להרפתקת טקסט
הגדרת הפרויקט: החדרקישור בין חדרים8פרויקט: רשימת אנשי קשר
הגדרת הפרויקטהלולאה הראשיתתרגלו בעצמכם: קומפיילר Lua אונליין