מתודת Include?
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 72 מתוך 88.
כשעובדים עם מערכים, לעיתים קרובות צריך לבדוק אם קיים בהם איבר מסוים לפני ביצוע פעולה. המתודה include? של Ruby עונה ישירות על השאלה הזאת ומחזירה true או false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # פלט: true
puts fruits.include?("grape") # פלט: falseהמתודה בודקת התאמה מדויקת, ולכן היא רגישה לאותיות גדולות וקטנות במחרוזות:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # פלט: true
puts colors.include?("red") # פלט: falseהשיטה הזו שימושית במיוחד במשפטי תנאי. במקום לעבור בלולאה על מערך כדי למצוא איבר, אפשר פשוט לבדוק אם הוא נמצא בו:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endהמתודה include? פועלת עם כל סוג נתונים המאוחסן במערך, כולל מספרים, סמלים ואפילו מערכים אחרים.
אתגר
קלקרא שתי שורות קלט:
- רשימה של פריטים זמינים בחנות, כמחרוזות המופרדות בפסיקים (לדוגמה,
apple,banana,orange,milk,bread) - רשימה של פריטים ברשימת הקניות שלך, כמחרוזות המופרדות בפסיקים (לדוגמה,
banana,eggs,milk,cheese)
עבור כל פריט ברשימת הקניות שלך, בדוק אם הוא זמין בחנות באמצעות המתודה include?. הדפס כל פריט ואחריו Available או Not available, בהתאם לשאלה אם הוא נמצא במלאי החנות.
זכור ש-include? בודקת התאמות מדויקות, לכן ההשוואה מבחינה בין אותיות גדולות לקטנות.
לדוגמה, אם הקלט הוא apple,banana,orange,milk,bread ו-banana,eggs,milk,cheese, הפלט צריך להיות:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableאם הקלט הוא Red,Green,Blue ו-red,Green,Yellow, הפלט צריך להיות:
red - Not available
Green - Available
Yellow - Not availableאם הקלט הוא coffee,tea,juice ו-coffee,water,tea, הפלט צריך להיות:
coffee - Available
water - Not available
tea - Availableאם הקלט הוא pen,pencil,eraser ו-pen, הפלט צריך להיות:
pen - Availableנסו בעצמכם
# קראו את מלאי החנות (פריטים מופרדים בפסיקים)
store_items = gets.chomp.split(",")
# קראו את רשימת הקניות (פריטים מופרדים בפסיקים)
shopping_list = gets.chomp.split(",")
# TODO: כתבו את הקוד שלכם למטה
# עבור כל פריט ברשימת הקניות, בדקו אם הוא זמין בחנות
# באמצעות המתודה include? והדפיסו את התוצאההשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 413מערכים מתקדמים
חיתוך מערכים באמצעות טווחיםחיתוך מערכים באמצעות אינדקסיםאופרטורים של מערכיםמתודת Include?2משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין