Menu
Coddy logo textTech

Metin Bileşeni

Coddy'nin Rust Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 50 / 61.

challenge icon

Görev

Kolay

Önceki derste oluşturduğunuz Draw trait'i üzerine inşa ederek, ilk gerçek kullanıcı arayüzü bileşenimizi ekleyelim: bir TextField. Bu bileşen, belge sistemimizdeki bir metin görüntüleme öğesini temsil edecek.

Projenizi yeni bir modül dosyasıyla genişleteceksiniz:

  • draw.rs: Önceki görevdeki Draw trait'inizi koruyun.
  • text_field.rs: Genel bir content alanına (bir String) sahip bir TextField struct'ı oluşturun. TextField için Draw trait'ini uygulayın, böylece draw() çağrıldığında metni şu formatta yazdırsın: Text: {content}
  • main.rs: Her iki modülü de dahil edin ve bir TextField örneği oluşturun. Bileşeni işlemek için draw() metodunu çağırın.

text_field modülünüzün draw modülündeki Draw trait'ini kullanması gerektiğini unutmayın. Her iki modül de aynı crate'in parçası olduğu için buna crate::draw::Draw ile erişebilirsiniz.

Aşağıdaki girdi sağlanacaktır:

  • Metin alanının içeriğini temsil eden bir dize

Çıktınız tam olarak şu formatta olmalıdır:

Text: Hello World

Kendin dene

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: Bir TextField örneği oluşturun ve üzerinde draw() metodunu çağırın
}

Object Oriented Programming bölümündeki tüm dersler