מעבר על וקטור
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Rust של Coddy. שיעור 11 מתוך 66.
עכשיו, כשאתם יודעים ליצור וקטורים ולגשת לאיברים בודדים, בואו ללמוד איך לעבד באופן שיטתי כל איבר בווקטור. לולאת for מתאימה בדיוק למשימה הזאת, ומאפשרת לכם לעבור על כל איבר לפי הסדר.
הנה התחביר הבסיסי למעבר על וקטור:
let names = vec!["Alice", "Bob", "Charlie"];
for name in &names {
println!("Hello, {}!", name);
}שימו לב ל־& לפני names — כך נוצרת הפניה למערך, שמאפשרת לכם לקרוא כל איבר בלי לקבל בעלות על המערך עצמו. בכל איטרציה יש לכם גישה לאיבר אחד בכל פעם דרך משתנה הלולאה name.
לולאת for מטפלת בבדיקת הגבולות באופן אוטומטי עבורך. בניגוד לאינדוקס ידני, לעולם לא תנסה בטעות לגשת לאיבר שאינו קיים. הלולאה תעבור בדיוק על מספר האיברים שהווקטור מכיל, מה שהופך אותה לבטוחה ונוחה.
אפשר להשתמש בתבנית הזאת עם כל סוג של וקטור:
let scores = vec![85, 92, 78, 90];
for score in &scores {
println!("Score: {}", score);
}זוהי הדרך הנפוצה והמקובלת ביותר לעבד את כל האיברים בווקטור כשצריך לקרוא את הערכים שלהם.
אתגר
קלכתבו פונקציה sum_all_elements שמקבלת וקטור numbers ומחזירה את סכום כל האיברים שלו.
השתמשו בלולאת for כדי לעבור על הווקטור ולצבור את סכום כל האיברים.
פרמטרים:
numbers(Vec<i32>): וקטור המספרים השלמים שיש לסכם
ערך מוחזר: סכום כל האיברים בווקטור (i32)
נסו בעצמכם
fn sum_all_elements(numbers: Vec<i32>) -> i32 {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1זרימת בקרה מתקדמת
ביטוי 'match'התאמה למספר ערכיםהתאמה לטווחיםביטוי 'if let'לולאות כביטוייםסיכום – מנתח פקודות פשוט4קיבוץ נתונים באמצעות מבנים
מהו מבנה?סקירה כללית על מבניםגישה לשדות במבנהמבנים הניתנים לשינוימבנים כפרמטרים של פונקציהמבני טופלסיכום – יצירת מבנה ספר7טיפול בשגיאות באמצעות 'Result'
מהו 'Result'?שימוש ב-'match' עם 'Result'is_ok() ו-is_err()קיצורי דרך: unwrap ו-expectאופרטור סימן השאלה '?'המרת מחרוזות למספריםסיכום - פונקציית חילוק בטוחה10Closures ופונקציות אנונימיות
מהו Closure?הגדרת Closure פשוטClosures עם פרמטריםלכידת הסביבהסיכום – Closure פשוט לחיבור2מבוא לווקטורים
מהו וקטור?יצירת וקטורהוספת איברים באמצעות pushגישה לאיברי וקטורמעבר על וקטורמעבר ניתן לשינויהסרת איבריםסיכום – מעקב בסיסי אחר ניקוד5זוגות מפתח-ערך באמצעות מפות גיבוב
מהי מפת גיבוב?יצירת מפת גיבובהוספת זוגות מפתח-ערךגישה לערכיםמעבר על מפת גיבובעדכון ערךהסרת זוגסיכום – מונה מיליםתרגלו בעצמכם: קומפיילר Rust אונליין