לולאת until
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 45 מתוך 88.
לולאת until היא ההפך מלולאת while. במקום לפעול כל עוד תנאי מתקיים, היא פועלת עד שתנאי מתקיים. חשבו עליה כך: "המשיכו עד שזה יקרה".
count = 1
until count > 3
puts count
count += 1
endזה מדפיס 1, 2, 3. הלולאה נמשכת כל עוד count > 3 הוא false. ברגע ש-count הופך ל-4, התנאי הוא true, והלולאה נעצרת.
השווי זאת ללולאת while המקבילה:
# שתי הלולאות האלה עושות את אותו הדבר:
while count <= 3 # רוץ כל עוד זה TRUE
until count > 3 # רוץ עד שזה TRUEלולאת until יכולה להפוך את הקוד שלך לקריא יותר כשאתה ממתין שמשהו יקרה. הנה דוגמה לספירה לאחור:
num = 5
until num == 0
puts num
num -= 1
end
puts "Liftoff!"הפעולה הזו סופרת לאחור מ־5 עד 1, ואז מדפיסה "Liftoff!" כש־num מגיע ל־0. בחרו ב־until כשהיא מבהירה את כוונתכם, במיוחד כשאתם ממתינים עד שתנאי מסוים יתקיים.
אתגר
קלקרא מספר n מהקלט. השתמש בלולאת until כדי להדפיס את כל המספרים מ־1 עד n, כל אחד בשורה משלו. לאחר ההגעה ל־n, הדפס Done! בשורה חדשה.
הלולאה צריכה להמשיך עד שהמונה גדול מ־n.
הקלט יהיה מספר שלם יחיד המייצג את מספר היעד.
לדוגמה, אם הקלט הוא 4, הפלט צריך להיות:
1
2
3
4
Done!אם הקלט הוא 6, הפלט צריך להיות:
1
2
3
4
5
6
Done!נסו בעצמכם
# קראו את מספר היעד
n = gets.to_i
# אתחלו את counter
counter = 1
# TODO: כתבו את הקוד שלכם למטה
# השתמשו בלולאת until כדי להדפיס מספרים מ-1 עד n
# הלולאה צריכה להימשך עד ש-counter יהיה גדול מ-n
# הדפיסו את הטקסט המדויק מההוראות אחרי הלולאה
puts "Done!"השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין