Menu
Coddy logo textTech

Struct Alanlarına Erişme

Coddy'nin Rust Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 22 / 66.

Bir yapı örneği oluşturduktan sonra, içinde depolanan değerleri almanın bir yoluna ihtiyacın vardır. Rust, bir yapının içindeki ayrı alanlara erişmek için nokta gösterimini kullanır.

Söz dizimi basittir: struct örneğinin adını, ardından bir nokta ve sonra erişmek istediğin alanın adını yazarsın:

let product = Product {
    name: String::from("Laptop"),
    price: 999,
};

println!("Product: {}", product.name);
println!("Price: ${}", product.price);

Bu nokta notasyonu, diğer programlama dillerindeki özelliklere erişmekle tam olarak aynı şekilde çalışır. Erişilen değerleri ifadelerde kullanabilir, değişkenlere atayabilir veya fonksiyonlara aktarabilirsiniz; bunlar tam olarak o türdeki diğer tüm değerler gibi davranırlar.

challenge icon

Görev

Kolay

Üç girdi alacaksınız: bir araba modelinin adı, arabanın yılı (bir tamsayı olarak) ve kilometresi (bir tamsayı olarak). Üç alana sahip bir Car yapısı tanımlayın: String türünde model, i32 türünde year ve i32 türünde mileage. Girdi değerlerini kullanarak bu yapının bir örneğini oluşturun, ardından her alana erişip yazdırın.

Gereksinimler:

  • Şu alanlara sahip bir Car yapısı tanımlayın: model: String, year: i32 ve mileage: i32
  • İlk girdiyi araba modeli olarak okuyun
  • İkinci girdiyi okuyun ve yıl için i32 türüne dönüştürün
  • Üçüncü girdiyi okuyun ve kilometre için i32 türüne dönüştürün
  • Bu değerlerle Car yapısının bir örneğini oluşturun
  • Her alana erişmek için nokta gösterimini kullanın ve araba bilgilerini aşağıda gösterilen tam biçimde yazdırın

Girdi:

  • İlk satır: Araba modeli (ör. Tesla Model 3)
  • İkinci satır: Tamsayı olarak yıl (ör. 2022)
  • Üçüncü satır: Tamsayı olarak kilometre (ör. 15000)

Çıktı:

  • İlk satır: Car: [model]
  • İkinci satır: Year: [year]
  • Üçüncü satır: Mileage: [mileage] km

Kendin dene

use std::io;

// TODO: Burada model, year ve mileage alanlarına sahip Car struct'ını tanımlayın

fn main() {
    // Araba modelini oku
    let mut model = String::new();
    io::stdin().read_line(&mut model).expect("Failed to read line");
    let model = model.trim().to_string();
    
    // Yılı oku
    let mut year_input = String::new();
    io::stdin().read_line(&mut year_input).expect("Failed to read line");
    let year: i32 = year_input.trim().parse().expect("Invalid year");
    
    // Kilometreyi oku
    let mut mileage_input = String::new();
    io::stdin().read_line(&mut mileage_input).expect("Failed to read line");
    let mileage: i32 = mileage_input.trim().parse().expect("Invalid mileage");
    
    // TODO: Girdi değerlerini kullanarak Car struct'ının bir örneğini oluşturun
    
    // TODO: Her bir alana erişin ve istenen formatta yazdırın
    // Car: [model]
    // Year: [year]
    // Mileage: [mileage] km
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi