לולאת for על סדרה
חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 37 מתוך 75.
לפעמים בעת תכנות יש צורך לבצע את אותה פעולה, או פעולה כמעט זהה, כמה פעמים.
כדי למנוע כתיבה של אותו הדבר שוב ושוב, אפשר להשתמש בלולאות.
לתבנית הfor יש את התחביר הבא
for element in range {
code
}ביטוי range מגדיר כמה פעמים הלולאה צריכה לרוץ, והוא נכתב בדרך כלל כך: start..end (שרץ מ-start עד end-1) או start..=end (שרץ מ-start עד end, כולל end).
לדוגמה, לולאה מ־0 עד 5 (לא כולל):
for i in 0..5 {
println!("{}", i);
}היא תבצע את פקודת ההדפסה 5 פעמים:
0
1
2
3
4ללולאות יש שימושים רבים. לדוגמה, נסכום את כל המספרים מ-1 עד 100:
let mut sum_numbers = 0;
for i in 1..=100 {
sum_numbers += i;
}
println!("{}", sum_numbers);תחילה תעבור הלולאה על כל המספרים מ־1 עד 100 (כולל 100 בגלל הסימן ..=) ותסכם את כולם, ואז היא תדפיס את המשתנה sum_numbers
אם מסיבה כלשהי תרצה ליצור לולאה בלי להשתמש במשתנה (i), עליך להוסיף קו תחתון בתחילת השם: _i. כך תודיע למהדר שזה בסדר שהוא אינו בשימוש, ותמנע מהתוכנית להפיק אזהרה:
for _i in 0..5 {
println!("Hello!");
}אתגר
מתחיליםקרא מספר שלם n (קוד הפתיחה כבר עושה זאת). השתמש בלולאת for כדי להדפיס את "Hello Coddy: " ואת הערך של i עבור כל מספר מ־3 עד n, כולל.
לדוגמה, אם n הוא 6, הפלט הוא:
Hello Coddy: 3
Hello Coddy: 4
Hello Coddy: 5
Hello Coddy: 6אם n הוא 27, הלולאה מדפיסה 25 שורות, מ־Hello Coddy: 3 עד Hello Coddy: 27.
נסו בעצמכם
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let n: i32 = input.trim().parse().unwrap();
// כתבו את הקוד שלכם למטה
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 39לולאות
לולאת for על סדרהלולאת whilebreakcontinueלולאה מקוננתתוויות לולאהלולאה אינסופיתחזרה: קלט דינמיתרגלו בעצמכם: קומפיילר Rust אונליין