הגדרת Closure פשוט
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Rust של Coddy. שיעור 60 מתוך 66.
עכשיו, כשאתם מבינים מהן סגירות, בואו נלמד כיצד להגדיר אותן ולהשתמש בהן בקוד שלכם. הדרך הפשוטה ביותר ליצור סגירה היא לשייך אותה למשתנה, וכך תוכלו לקרוא לה מאוחר יותר.
כך מגדירים סגירה בסיסית שאינה מקבלת פרמטרים:
let my_closure = || {
println!("Hello from the closure!");
};שימו לב לפסים האנכיים הריקים || — הם מציינים שהסגירה אינה מקבלת ארגומנטים. הסוגריים המסולסלים מכילים את הקוד שרץ כשקוראים לסגירה.
כדי לקרוא לסגירה שלך, משתמשים בה בדיוק כמו בפונקציה, על ידי הוספת סוגריים אחרי שם המשתנה:
let my_closure = || {
println!("Hello from the closure!");
};
my_closure(); // זה מפעיל את ה-closure ומדפיס את ההודעהאתגר
קלתקבלו קלט יחיד המכיל הודעה. צרו סגירה שאינה מקבלת פרמטרים ומדפיסה את ההודעה. שמרו את הסגירה במשתנה, ואז קראו לה כדי להציג את ההודעה.
דרישות:
- קראו את הודעת הקלט והסירו רווחים לבנים
- צרו סגירה באמצעות התחביר
||שמדפיסה את ההודעה - שמרו את הסגירה במשתנה
- קראו לסגירה כדי להפעיל אותה
קלט:
- שורה יחידה המכילה הודעה (למשל,
Welcome to Rust!)
פלט:
- ההודעה שהסגירה מדפיסה
נסו בעצמכם
use std::io;
fn main() {
// קראו את הקלט
let mut message = String::new();
io::stdin().read_line(&mut message).expect("Failed to read line");
let message = message.trim();
// TODO: צרו פונקציית סגירה שמדפיסה את ההודעה ושמרו אותה במשתנה
// TODO: קראו לפונקציית הסגירה כדי להדפיס את ההודעה
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
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 אונליין