Menu
Coddy logo textTech

ערכי החזרה מרובים

חלק מהיחידה יסודות במסלול ה-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);
challenge icon

אתגר

קל

צרו פונקציה בשם get_user_info שמחזירה tuple המכיל את שם המשתמש, גילו וכתובת האימייל שלו. חתימת הפונקציה צריכה להיות כך:

fn get_user_info() -> (String, i32, String)

בתוך הפונקציה, צרו את המשתנים הבאים:

  • name: String שמאותחל ל-"Bob"
  • age: i32 שמאותחל ל-25
  • email: 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 ופרקו את הטופל שהוחזר
    
    
    // הדפיסו את הערכים
    
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Rust אונליין