ערכי החזרה מרובים
חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 52 מתוך 75.
ב-Rust, פונקציה יכולה להחזיר כמה ערכים באמצעות שימוש בטאפל כסוג ההחזרה. טאפל הוא קבוצה של ערכים שונים המאוגדים ליחידה אחת.
לדוגמה:
fn get_coordinates() -> (i32, i32) {
let x = 10;
let y = 20;
(x, y) // החזר טאפל
}וכך קוראים לפונקציה:
let (x, y) = get_coordinates();
// פרקו את ה-tuple
// למשתנים נפרדים
println!("{}, {}", x, y);אפשר להחזיר כמה ערכים שרוצים על ידי הוספת איברים נוספים לטאפל. לדוגמה:
fn get_details() -> (String, i32, f64) {
let name = String::from("Alice");
let age = 30;
let score = 95.5;
(name, age, score)
// החזר טופל עם שלושה ערכים
}וכך קוראים לפונקציה:
let (name, age, score) = get_details();
println!("{}, {}, {}", name, age, score);אתגר
קלצרו פונקציה בשם get_user_info שמחזירה tuple המכיל את שם המשתמש, גילו וכתובת האימייל שלו. חתימת הפונקציה צריכה להיות כך:
fn get_user_info() -> (String, i32, String)בתוך הפונקציה, צרו את המשתנים הבאים:
name:Stringשמאותחל ל-"Bob"age:i32שמאותחל ל-25email:Stringשמאותחל ל-"bob@example.com"
החזירו את שלושת הערכים האלה כ-tuple.
בפונקציה main, קראו ל-get_user_info וחלצו את הערכים מה-tuple שהוחזר למשתנים נפרדים בשם name, age ו-email. לאחר מכן, הדפיסו את הערכים האלה למסוף באמצעות println! בפורמט הבא:
Name: [name], Age: [age], Email: [email]נסו בעצמכם
fn get_user_info() -> (String, i32, String) {
// צרו כאן משתנים לשם, לגיל ולכתובת האימייל
// החזירו את הטופל
}
fn main() {
// קראו ל-get_user_info ופרקו את הטופל שהוחזר
// הדפיסו את הערכים
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 311פונקציות
הגדרת פונקציותפרמטרים וארגומנטיםערכי החזרהערכי החזרה מרוביםסיכום – פונקציית סיגמאסיכום – פונקציית אימותתרגלו בעצמכם: קומפיילר Rust אונליין