Menu
Coddy logo textTech

הוראת Unless

חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 25 מתוך 88.

Ruby מציעה דרך ייחודית לבטא תנאים כשרוצים להריץ קוד רק אם משהו אינו נכון. ההצהרה unless היא למעשה ההפך מ־if.

עם if, הקוד רץ כשהתנאי נכון. עם unless, הקוד רץ כשהתנאי false:

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

הדבר שקול לכתיבה של if !logged_in, אבל לעיתים קרובות unless נקרא באופן טבעי יותר. חשבו על זה כך: "עשו זאת אלא אם כן התנאי הזה מתקיים."

אפשר גם להשתמש ב-unless עם else:

age = 20

unless age < 18
  puts "Access granted"
else
  puts "Access denied"
end

עם זאת, כשאתה זקוק לבלוק else, בדרך כלל ברור יותר להשתמש ב-if. פקודת unless מתאימה במיוחד כשיש לך תנאי שלילי פשוט ללא מסלול חלופי. בחר במה שהופך את הקוד שלך לקריא יותר במבט חטוף.

challenge icon

אתגר

קל

המשתנים הבאים עומדים לרשותך:

has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

השתמש בהצהרות unless כדי לבדוק כל אחד מהתרחישים שלהלן. הדפס את ההודעה שצוינה רק כשהתנאי הוא שקר (כלומר, כאשר unless מבצע את הבלוק שלו).

  1. אם has_ticket אינו true, הדפס Please purchase a ticket
  2. אם is_vip אינו true, הדפס VIP access required
  3. אם items_in_cart אינו גדול מ-0, הדפס Your cart is empty
  4. אם battery_level אינו גדול מ-20, הדפס Low battery warning
  5. אם is_charging אינו true וגם battery_level אינו גדול מ-50, הדפס Please charge your device

כל הודעה צריכה להופיע בשורה משלה. הדפס רק הודעות עבור תנאים שמפעילים את בלוק ה-unless.

נסו בעצמכם

# המשתנים כבר הוגדרו עבורכם
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

# TODO: כתבו את הקוד שלכם למטה
# השתמשו במשפטי unless כדי לבדוק כל תנאי ולהדפיס את ההודעה המתאימה
quiz iconבחנו את עצמכם

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

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

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