מתודת 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 אונליין