רכיב טקסט
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Rust של Coddy. שיעור 50 מתוך 61.
אתגר
קלבהמשך למאפיין Draw שיצרת בשיעור הקודם, נוסיף את רכיב ממשק המשתמש האמיתי הראשון שלנו: TextField. הרכיב הזה ייצג רכיב להצגת טקסט במערכת המסמכים שלנו.
נרחיב את הפרויקט שלך באמצעות קובץ מודול חדש:
draw.rs: שמור על המאפייןDrawמהאתגר הקודם.text_field.rs: צור מבנהTextFieldעם שדה ציבוריcontent(מסוגString). ממש את המאפייןDrawעבורTextField, כך שקריאה ל-draw()תדפיס את הטקסט בתבנית מסוימת:Text: {content}main.rs: הוסף את שני המודולים וצור מופע שלTextField. קרא למתודהdraw()שלו כדי לרנדר את הרכיב.
זכור שמודול text_field שלך צריך להשתמש במאפיין Draw מהמודול draw. אפשר לגשת אליו באמצעות crate::draw::Draw, מכיוון ששני המודולים הם חלק מאותו crate.
הקלט הבא יסופק:
- מחרוזת שמייצגת את התוכן של שדה הטקסט
הפלט שלך צריך להיות בתבנית המדויקת הזאת:
Text: Hello Worldנסו בעצמכם
mod draw;
mod text_field;
use draw::Draw;
pub struct Label {
pub text: String,
}
impl Draw for Label {
fn draw(&self) {
println!("{}", self.text);
}
}
fn main() {
let mut input = String::new();
std::io::stdin().read_line(&mut input).expect("Failed to read line");
let content = input.trim().to_string();
// TODO: צרו מופע של TextField וקראו עליו ל־draw()
}כל השיעורים ביחידה תכנות מונחה עצמים
1מתודות והתנהגות
מבוא לבלוקי מימושהפרמטר selfמתודות ניתנות לשינויפונקציות משויכותבלוקי מימוש מרוביםשרשור מתודותסיכום – פעולות מלבן4פרויקט: חיית מחמד וירטואלית
הגדרת חיית המחמדהאכלת חיית המחמדתרגלו בעצמכם: קומפיילר Rust אונליין