Menu
Coddy logo textTech

מתודת Contains

חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 76 מתוך 86.

כשעובדים עם מערכים, לעיתים קרובות צריך לבדוק אם ערך מסוים קיים לפני ביצוע פעולה. Swift מספקת את המתודה contains() בדיוק למטרה הזאת. היא מחזירה true אם האיבר נמצא, ו-false אחרת.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// יש לנו בננות!

זה הרבה יותר נקי מלכתוב לולאה כדי לחפש במערך באופן ידני. השיטה עובדת עם כל סוג של מערך, בין אם הוא מכיל מחרוזות, מספרים או ערכים אחרים:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

מקרה שימוש נפוץ הוא אימות קלט המשתמש מול רשימה של ערכים מותרים:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// בחירה תקינה

המתודה contains() פועלת גם עם מחרוזות כדי לבדוק אם מחרוזת משנה קיימת בתוך מחרוזת ארוכה יותר:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

אתגר

קל

תקבל שתי שורות קלט:

  1. רשימה של שמות משתמשים מורשים, מופרדים בפסיקים (למשל, admin,user,guest,moderator)
  2. שם משתמש לבדיקה

בדוק אם שם המשתמש מופיע ברשימת המשתמשים המורשים. אם כן, הדפס Access granted. אם לא, הדפס Access denied.

שלבים:

  1. קרא את הרשימה המופרדת בפסיקים ופצל אותה למערך של מחרוזות
  2. קרא את שם המשתמש לבדיקה
  3. השתמש בשיטה contains() כדי לקבוע אם שם המשתמש מופיע ברשימת המשתמשים המורשים
  4. הדפס את ההודעה המתאימה בהתאם לתוצאה

רמז: השתמש ב-components(separatedBy:) כדי לפצל מחרוזת למערך. לדוגמה:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

נסו בעצמכם

// קראו את רשימת שמות המשתמש המורשים המופרדים בפסיקים
let allowedList = readLine()!

// קראו את שם המשתמש שיש לבדוק
let username = readLine()!

// TODO: כתבו את הקוד שלכם למטה
// 1. פצלו את allowedList למערך באמצעות components(separatedBy:)
// 2. השתמשו ב-contains() כדי לבדוק אם username נמצא במערך
// 3. הדפיסו "Access granted" או "Access denied" בהתאם לתוצאה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Swift אונליין