ערכי החזרה
חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 51 מתוך 75.
משפט return במתודה משמש לציון הערך או הערכים שהמתודה אמורה להפיק כפלט. לדוגמה, המתודה הבאה תפיק 100:
fn function_name() -> i32 {
return 100;
}שימו לב שהפונקציה מחזירה נתונים מסוג i32 בגלל סימן החץ ->.
כדי להעביר את ערך ההחזרה למשתנה, כתבו:
let number: i32 = function_name();כעת המשתנה number יכיל את הערך 100, כי זה מה שהמתודה החזירה.
שימו לב שסוג ההחזרה של המתודה (
i32במקרה הזה) חייב להתאים לסוג הנתונים של המשתנה שבו אתם שומרים את הערך שהוחזר.
אתגר
קללכל מקרה בדיקה יש שלוש קלטים.
הקלט הראשון מציין כמה פעמים לבצע איטרציות, ושני הקלטים האחרונים הם מספרים שעליהם נבצע פעולות.
צרו מתודה שמקבלת שני ארגומנטים ומחזירה את המספר הגדול יותר מבין השניים. אם שניהם שווים, החזירו אחד מהם.
בצעו איטרציה iterations פעמים, ובכל איטרציה:
- קראו למתודה עם
num1,num2, ושמרו את התוצאה במשתנה. - חלקו את המספר הגדול יותר מבין השניים ב-
2, ואז החליפו את המשתנה המקורי הגדול יותר בערך התוצאה החדש. - הדפיסו את הערך החדש.
- המשיכו לעשות זאת עד שהתוכנית ביצעה איטרציה
iterationsפעמים, או שאחד המספרים קטן מ-2.
שימו לב, כבר יש לכם את שלד הקוד!
נסו בעצמכם
use std::io;
fn bigger(arg1: f64, arg2: f64) -> f64 {
// השלימו את הפונקציה
}
fn main() {
let mut input_iter = String::new();
let mut input_num1 = String::new();
let mut input_num2 = String::new();
io::stdin().read_line(&mut input_iter).unwrap();
io::stdin().read_line(&mut input_num1).unwrap();
io::stdin().read_line(&mut input_num2).unwrap();
let iter: i32 = input_iter.trim().parse().unwrap();
let mut num1: f64 = input_num1.trim().parse().unwrap();
let mut num2: f64 = input_num2.trim().parse().unwrap();
for _ in 0..iter {
// כתבו את הקוד שלכם למטה
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר Rust אונליין