Menu
Coddy logo textTech

Metin Bileşeni

Coddy'nin Rust Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 50 / 61.

challenge icon

Görev

Kolay

Önceki derste oluşturduğun Draw trait'ini temel alarak ilk gerçek kullanıcı arayüzü bileşenimizi ekleyelim: bir TextField. Bu bileşen, belge sistemimizde 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 kullanıma açık bir TextField alanına (content) sahip bir String struct'ı oluşturun. Draw için TextField trait'ini uygulayın; böylece draw() çağrıldığında metin belirli bir biçimde yazdırılsın: Text: {content}
  • main.rs: Her iki modülü de dahil edin ve bir TextField örneği oluşturun. Bileşeni görüntü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ğundan 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 biçimi izlemelidir:

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
}

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi