Menu
Coddy logo textTech

Match İfadesi

Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 26 / 75.

match ifadesi, bir değeri bir dizi desenle karşılaştırmanıza ve hangi desenin eşleştiğine bağlı olarak kod yürütmenize olanak tanır.

İşte bir match ifadesinin temel yapısı:

match variable {
	pattern1 => expression1,
	pattern2 => expression2,
	// ... daha fazla desen
	_ => default_expression,
}

match anahtar kelimesinden sonra test etmek istediğiniz değer gelir.

Eşleşmenin her bir kolu, bir desen ve ardından gelen => ile çalıştırılacak koddan oluşur.

Alt çizgi _, diğer desenlerle eşleşmeyen her şeyi eşleştiren varsayılan durumdur.

İşte bir örnek:

let day = 3;
let day_name = match day {
	1 => "Monday",
	2 => "Tuesday",
	3 => "Wednesday",
	// ... daha fazla desen,
	_ => "Invalid day",
};

Bir koldaki birden fazla kod satırı için bir blok kullanın:

let day = 3;
let day_name = match day {
	1 => {
		println!("First day of the week!");
		"Monday"
	},
	2 => "Tuesday",
	// ... diğer durumlar
	_ => "Invalid day",
};

| kullanarak birden fazla deseni eşleştirebilirsiniz:

let day = 3;
let day_type = match day {
	1 | 2 | 3 | 4 | 5 => "Weekday",
	6 | 7 => "Weekend",
	_ => "Invalid day",
};

Rust'taki match ifadeleri kapsamlı olmalıdır, yani tüm olası değerleri kapsamalıdırlar. Derleyici bunu sizin için kontrol edecektir.

challenge icon

Görev

Başlangıç

Bir ay numarası (Ocak için 1, Şubat için 2 vb.) alan ve ait olduğu mevsimi yazdıran bir program oluşturun. Mantık için bir match ifadesi kullanın.

Mevsimler ve bunlara karşılık gelen aylar şunlardır:

  • Winter: Aralık (12), Ocak (1), Şubat (2)
  • Spring: Mart (3), Nisan (4), Mayıs (5)
  • Summer: Haziran (6), Temmuz (7), Ağustos (8)
  • Autumn: Eylül (9), Ekim (10), Kasım (11)

Kopya kağıdı

match ifadesi, bir değeri desenlerle karşılaştırır ve hangi desenin eşleştiğine bağlı olarak kod yürütür:

match variable {
    pattern1 => expression1,
    pattern2 => expression2,
    _ => default_expression,
}

Temel örnek:

let day = 3;
let day_name = match day {
    1 => "Monday",
    2 => "Tuesday",
    3 => "Wednesday",
    _ => "Invalid day",
};

Bir kolda birden fazla kod satırı için bir blok kullanın:

let day = 3;
let day_name = match day {
    1 => {
        println!("First day of the week!");
        "Monday"
    },
    2 => "Tuesday",
    _ => "Invalid day",
};

| kullanarak birden fazla desenle eşleştirme yapın:

let day = 3;
let day_type = match day {
    1 | 2 | 3 | 4 | 5 => "Weekday",
    6 | 7 => "Weekend",
    _ => "Invalid day",
};

Match ifadeleri kapsamlı olmalıdır; tüm olası değerleri kapsamalıdırlar. Alt çizgi _, diğer desenlerle eşleşmeyen her şeyle eşleşen varsayılan durumdur.

Kendin dene

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let month: i32 = input.trim().parse().unwrap();
    // Kodunuzu aşağıya yazın
    let season = 

    // Aşağıdaki satırı değiştirmeyin
    println!("status = {}", season);
}
quiz iconKendini test et

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

Fundamentals bölümündeki tüm dersler