סיכום – פעולות מלבן
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Rust של Coddy. שיעור 7 מתוך 61.
אתגר
קלצרו struct בשם Rectangle עם שני שדות: width (u32) ו-height (u32).
הוסיפו בלוק מימוש עבור Rectangle עם הפריטים הבאים:
new: פונקציה משויכת שמקבלתwidth: u32ו-height: u32ומחזירהRectangleחדשarea: מקבלת&selfומחזירה את השטח כ-u32scale: מקבלת&mut selfו-factor: u32, ומכפילה את הרוחב ואת הגובה בגורם
תקבלו שלוש קלטים:
- השורה הראשונה: הרוחב (u32)
- השורה השנייה: הגובה (u32)
- השורה השלישית: גורם ההגדלה (u32)
צרו Rectangle שניתן לשינוי באמצעות Rectangle::new עם הממדים שסופקו. הדפיסו את השטח ההתחלתי, לאחר מכן הגדילו את המלבן בגורם הנתון, והדפיסו את השטח החדש.
פורמט הפלט הצפוי:
{initial_area}
{scaled_area}נסו בעצמכם
use std::io;
// TODO: הגדירו כאן את המבנה Rectangle
// TODO: הוסיפו בלוק מימוש עבור Rectangle הכולל:
// - new: פונקציה משויכת שמקבלת width ו-height ומחזירה Rectangle
// - area: מתודה שמקבלת &self ומחזירה u32
// - scale: מתודה שמקבלת &mut self ואת factor, ומכפילה את width ואת height
fn main() {
let mut input = String::new();
// קראו את width
io::stdin().read_line(&mut input).expect("Failed to read line");
let width: u32 = input.trim().parse().expect("Invalid number");
input.clear();
// קראו את height
io::stdin().read_line(&mut input).expect("Failed to read line");
let height: u32 = input.trim().parse().expect("Invalid number");
input.clear();
// קראו את factor של שינוי הגודל
io::stdin().read_line(&mut input).expect("Failed to read line");
let factor: u32 = input.trim().parse().expect("Invalid number");
// TODO: צרו Rectangle בר־שינוי באמצעות Rectangle::new
// TODO: הדפיסו את השטח ההתחלתי
// TODO: שנו את גודל המלבן לפי factor
// TODO: הדפיסו את השטח החדש
}כל השיעורים ביחידה תכנות מונחה עצמים
1מתודות והתנהגות
מבוא לבלוקי מימושהפרמטר selfמתודות ניתנות לשינויפונקציות משויכותבלוקי מימוש מרוביםשרשור מתודותסיכום – פעולות מלבן4פרויקט: חיית מחמד וירטואלית
הגדרת חיית המחמדהאכלת חיית המחמדתרגלו בעצמכם: קומפיילר Rust אונליין