הגדרת פונקציות
חלק מהיחידה יסודות במסלול ה-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, המהדר מאפשר לך לקרוא למתודה לפני שהיא הוצהרה בקובץ. עם זאת, המוסכמה המומלצת היא לכתוב את הגדרת המתודה לפני הקריאה אליה/הפעלתה.
אתגר
קלכתבו תוכנית שמקבלת קלט אחד, מספר. מספר הקלט מציין כמה פעמים לבצע את המתודה שלהלן.
צרו מתודה שמחשבת את סכום כל המספרים שבין 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 פעמים
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 311פונקציות
הגדרת פונקציותפרמטרים וארגומנטיםערכי החזרהערכי החזרה מרוביםסיכום – פונקציית סיגמאסיכום – פונקציית אימותתרגלו בעצמכם: קומפיילר Rust אונליין