הוראת 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 מתאימה במיוחד כשיש לך תנאי שלילי פשוט ללא מסלול חלופי. בחר במה שהופך את הקוד שלך לקריא יותר במבט חטוף.
אתגר
קלהמשתנים הבאים עומדים לרשותך:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseהשתמש בהצהרות unless כדי לבדוק כל אחד מהתרחישים שלהלן. הדפס את ההודעה שצוינה רק כשהתנאי הוא שקר (כלומר, כאשר unless מבצע את הבלוק שלו).
- אם
has_ticketאינוtrue, הדפסPlease purchase a ticket - אם
is_vipאינוtrue, הדפסVIP access required - אם
items_in_cartאינו גדול מ-0, הדפסYour cart is empty - אם
battery_levelאינו גדול מ-20, הדפסLow battery warning - אם
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 כדי לבדוק כל תנאי ולהדפיס את ההודעה המתאימההשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין