לולאה אינסופית
חלק מהיחידה יסודות במסלול ה-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 אונליין