פרמטרים וארגומנטים
חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 50 מתוך 75.
ארגומנט בפונקציה הוא ערך שמעבירים לפונקציה כשקוראים לה. כדי להוסיף ארגומנטים לפונקציה, כותבים אותם בתוך הסוגריים ():
fn function_name(arg1: data_type, arg2: data_type, ...) {
// קוד
}אנחנו יכולים לתת לארגומנטים שמות כרצוננו ולכתוב ארגומנטים רבים ככל שנצטרך.
כדי לקרוא לפונקציה ולהעביר לה ארגומנטים, נכתוב:
function_name(value1, value2, value3, ...);העברת ארגומנטים רבים מדי לפונקציה שמצפה לפחות ארגומנטים תגרום לתוכנית להיכשל
דוגמה לשימוש:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}כאן יש לנו פונקציה בשם is_even שמקבלת ארגומנט אחד בשם number ומדפיסה אם המספר זוגי או אי־זוגי. לאחר מכן אנחנו קוראים לפונקציה פעמיים: פעם אחת עבור כל המספרים בין 15 ל־34, ופעם שנייה עבור כל המספרים בין 153 ל־219.
אתגר
קלכתבו תוכנית שמקבלת שני מספרים כקלט. מספרי הקלט הם הארגומנטים של הפונקציה.
צרו פונקציה שמקבלת שני ארגומנטים, מחשבת את המכפלה שלהם ומדפיסה אותה. תנו לפונקציה שם לפי בחירתכם.
קראו לפונקציה עם מספרי הקלט.
שימו לב! בקוד שלכם, כתבו את הפונקציה לפני הוראות הקריאה/ההרצה שלה.
נסו בעצמכם
use std::io;
// הצהרה על פונקציה
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// קרא לפונקציה עם a ו-b כארגומנטים
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 311פונקציות
הגדרת פונקציותפרמטרים וארגומנטיםערכי החזרהערכי החזרה מרוביםסיכום – פונקציית סיגמאסיכום – פונקציית אימותתרגלו בעצמכם: קומפיילר Rust אונליין