Menu
Coddy logo textTech

הגדרת פונקציות

חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 49 מתוך 75.

מתודה היא רצף של קוד שיש לו שם. מטרת המתודה היא לעשות שימוש חוזר בקטע קוד כמה פעמים.

לדוגמה, עיינו בקוד הזה:

println!("Welcome to Coddy");
println!("New session...");
println!("Welcome to Coddy");
println!("Another session...");
println!("Welcome to Coddy");

אנחנו משתמשים שוב ושוב באותו קוד println!("Welcome to Coddy"). בעיה נוספת בקוד הזה היא שאם נרצה לשנות את ההודעה: Welcome to Coddy למשהו אחר, כמו "Welcome aboard", נצטרך לשנות 3 שורות קוד שונות. כדי לפתור את הבעיה הזאת, נשתמש בשיטות.

כדי להצהיר על מתודה, משתמשים בתחביר הבא:

fn method_name(parameters) {
	// קוד
}

בדוגמה שלנו, ניצור מתודה בשם greet והיא תיראה כך:

fn greet() {
    println!("Welcome to Coddy");
}

כדי להשתמש במתודה/לקרוא לה/להריץ אותה, נכתוב greet();:

greet();
println!("New session...");
greet();
println!("Another session...");
greet();

התוצאה תהיה זהה לפלט שלמעלה.

הערה: ב-Rust, המהדר מאפשר לך לקרוא למתודה לפני שהיא הוצהרה בקובץ. עם זאת, המוסכמה המומלצת היא לכתוב את הגדרת המתודה לפני הקריאה אליה/הפעלתה.

challenge icon

אתגר

קל

כתבו תוכנית שמקבלת קלט אחד, מספר. מספר הקלט מציין כמה פעמים לבצע את המתודה שלהלן. 

צרו מתודה שמחשבת את סכום כל המספרים שבין 1 ל־1000 (כולל) ומדפיסה אותו. תנו למתודה שם לבחירתכם.

שימו לב! לפי מוסכמה מומלצת, כתבו את המתודה לפני פקודות הקריאה או הביצוע שלה בקוד שלכם.

נסו בעצמכם

use std::io;

// הכרזה על מתודה
fn sum_numbers() {
    // השלימו את המתודה
    
}


fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let n: i32 = input.trim().parse().unwrap();
    for _ in 0..n {
        // קראו למתודה n פעמים
    }
}
quiz iconבחנו את עצמכם

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

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

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