לולאה אינסופית
חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 43 מתוך 75.
ב-Rust אפשר ליצור לולאות אינסופיות באמצעות loop או while true. שתיהן ממשיכות לפעול עד שעוצרים אותן במפורש באמצעות break או עד שהתוכנית מסתיימת.
לדוגמה:
loop {
// קוד שיבוצע שוב ושוב
if condition {
break; // צא מהלולאה אם התנאי מתקיים
}
}הלולאה נמשכת עד שהיא מגיעה ל-break. היא שימושית לתוכניות שצריכות לפעול ברציפות, כמו שרתים או מכשירים.
הנה דוגמה ללולאה אינסופית שמדפיסה מספרים עד שמתקיים תנאי מסוים:
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
// צא מהלולאה כאשר count גדול מ-5
}
}בדוגמה הזו, הלולאה תדפיס מספרים מ־0 עד 5 ואז תצא כאשר count יהפוך ל־6.
אתגר
מתחיליםכתבו תוכנית Rust שמדמה מונה פשוט. התוכנית צריכה להשתמש בלולאה אינסופית כדי להגדיל ברציפות מונה ולהדפיס את ערכו. הלולאה צריכה להסתיים כשהמונה מגיע לערך מסוים שנקבע לפי הקלט.
שלבי התוכנית:
- אתחלו משתנה שניתן לשינוי בשם
counterלערך 0. - השתמשו בלולאה אינסופית (
loop) כדי להגדיל אתcounterברציפות ב-1 בכל איטרציה. - בתוך הלולאה, הדפיסו את הערך הנוכחי של
counter. - בדקו אם
counterשווה לערך הסיום שהמשתמש סיפק. אם כן, צאו מהלולאה.
נסו בעצמכם
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let limit: i32 = input.trim().parse().unwrap();
let mut counter = 0;
// כתבו את הקוד שלכם למטה
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 39לולאות
לולאת for על סדרהלולאת whilebreakcontinueלולאה מקוננתתוויות לולאהלולאה אינסופיתחזרה: קלט דינמיתרגלו בעצמכם: קומפיילר Rust אונליין