Menu
Coddy logo textTech

when עם ערכים מרובים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 39 מתוך 56.

תנאי when יחיד יכול להתאים לכל אחד מתוך כמה ערכים, המופרדים בפסיקים. הענף מופעל אם הערך הנבדק שווה לאחד מהם.

day = "Sat"
kind = case day
       when "Sat", "Sun"                          then "weekend"
       when "Mon", "Tue", "Wed", "Thu", "Fri"  then "weekday"
       end
puts kind   # סוף שבוע

זה הרבה יותר נקי מאשר לשרשר || בתוך if/elsif.

אפשר גם לערבב סוגי ערכים ב־when אחד: מחרוזות, טווחים, תבניות regex — כולם פשוט דברים שמגיבים ל־===:

def describe(x)
  case x
  when 0, nil       then "empty"
  when 1..9         then "small"
  when 10..99       then "medium"
  when /^huge:/i    then "flagged huge"
  end
end

בחרו את הצורות שמקלות לקרוא כל ענף במבט חטוף.

challenge icon

אתגר

קל

קרא תו יחיד (שורת קלט אחת). השתמש ב־case עם ענפי when מרובי־ערכים כדי להדפיס אחד מהבאים:

  • vowel: הקלט הוא אחד מ־a, e, i, o, u (ללא הבחנה בין אותיות גדולות לקטנות; המר תחילה את הקלט לאותיות קטנות)
  • digit: הקלט הוא אחד מ־0..9 (השתמש בטווח)
  • punctuation: הקלט הוא אחד מ־., ,, !, ?
  • other: כל דבר אחר

התייחס לקלט כמחרוזת בת תו אחד. בדוק את ענף הספרות באמצעות טווח כמו "0".."9".

עבור הקלט E הפלט הוא vowel; עבור 7 הוא digit; עבור ! הוא punctuation.

נסו בעצמכם

ch = gets.chomp

# TODO: לממש case ch.downcase ... עם ענפי when בעלי ערכים מרובים
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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