Menu
CoddyTech

הוראת Unless

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

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

עם if, הקוד רץ כשהתנאי הוא true. עם 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 כדי לבדוק כל אחד מהתרחישים הבאים. הדפס את ההודעה שצוינה רק כשהתנאי הוא false (כלומר, כאשר 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 אונליין