Menu
Coddy logo textTech

Tuple Struct'lar

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

Normal yapılar adlandırılmış alanlar kullanırken Rust, demet yapıları adı verilen başka bir tür daha sunar. Bunlar, her alanı ayrı ayrı adlandırmanız gerekmediğinde özel türler oluşturmak için daha özlü bir yol sağlar.

Bir demet yapısı, yeni bir tür oluşturmanın avantajlarını demetin basitliğiyle birleştirir. Bunu, struct anahtar sözcüğünün ardından tür adını ve parantez içinde alan türlerini kullanarak tanımlarsınız:

struct Color(i32, i32, i32);

Bu, RGB renk değerlerini temsil eden üç i32 değeri tutan bir Color türü oluşturur. Normal struct'ların aksine, alan adlarını belirtmezsiniz; değerlere tıpkı demetlerde olduğu gibi konumlarıyla erişirsiniz.

Bir demet yapısının örneğini oluşturmak için değerleri parantez içinde belirtirsiniz:

let red = Color(255, 0, 0);

Alan dizinini içeren nokta notasyonunu kullanarak tekil alanlara erişebilirsiniz: red.0 size ilk değeri verir, red.1 ikincisini ve bu şekilde devam eder.

challenge icon

Görev

Kolay

Üç girdi alacaksınız: kırmızı bir değer (tamsayı olarak), yeşil bir değer (tamsayı olarak) ve mavi bir değer (tamsayı olarak). RGB renk bileşenlerini temsil eden üç i32 değeri tutan bir Color tuple struct tanımlayın. Girdi değerlerini kullanarak bu tuple struct'ın bir örneğini oluşturun, ardından nokta gösterimini kullanarak her renk bileşenine erişin ve yazdırın.

Gereksinimler:

  • Üç i32 alanına sahip bir Color tuple struct tanımlayın
  • İlk girdiyi okuyun ve kırmızı değer için i32 türüne dönüştürün
  • İkinci girdiyi okuyun ve yeşil değer için i32 türüne dönüştürün
  • Üçüncü girdiyi okuyun ve mavi değer için i32 türüne dönüştürün
  • Bu değerlerle Color tuple struct'ının bir örneğini oluşturun
  • Nokta gösterimini ve indeksleri (0, 1, 2) kullanarak her alana erişin ve renk bilgilerini aşağıda gösterilen tam biçimde yazdırın

Girdi:

  • İlk satır: Tamsayı olarak kırmızı değer (ör. 255)
  • İkinci satır: Tamsayı olarak yeşil değer (ör. 128)
  • Üçüncü satır: Tamsayı olarak mavi değer (ör. 0)

Çıktı:

  • İlk satır: Red: [red_value]
  • İkinci satır: Green: [green_value]
  • Üçüncü satır: Blue: [blue_value]

Kendin dene

use std::io;

// TODO: Color demet yapınızı (tuple struct) burada tanımlayın

fn main() {
    // Kırmızı değerini oku
    let mut red_input = String::new();
    io::stdin().read_line(&mut red_input).expect("Failed to read line");
    let red: i32 = red_input.trim().parse().expect("Invalid input");
    
    // Yeşil değerini oku
    let mut green_input = String::new();
    io::stdin().read_line(&mut green_input).expect("Failed to read line");
    let green: i32 = green_input.trim().parse().expect("Invalid input");
    
    // Mavi değerini oku
    let mut blue_input = String::new();
    io::stdin().read_line(&mut blue_input).expect("Failed to read line");
    let blue: i32 = blue_input.trim().parse().expect("Invalid input");
    
    // TODO: Giriş değerlerini kullanarak bir Color demet yapısı örneği oluşturun
    
    // TODO: İndeks notasyonunu kullanarak her bir renk bileşenine erişin ve yazdırın
    // Format: Red: [değer], Green: [değer], Blue: [değer]
}
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