Menu
Coddy logo textTech

'match' İfadesi

Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 1 / 66.

match ifadesi, bir değeri farklı desenlerle karşılaştırmanıza ve hangi desenin eşleştiğine bağlı olarak kod yürütmenize olanak tanıyan Rust'ın güçlü desen eşleme aracıdır. Bunu, birden çok koşulu zarif bir şekilde işleyebilen if ifadelerinin daha gelişmiş bir versiyonu olarak düşünün.

İşte bir match ifadesinin temel sözdizimi:

match value {
    pattern1 => code_to_run,
    pattern2 => code_to_run,
    _ => default_code,
}

match içindeki her bir satıra bir "kol" (arm) denir. => işareti, deseni o desen eşleştiğinde çalışan koddan ayırır. Alt çizgi _, her şeyle eşleşen özel bir joker (wildcard) desenidir; diğer desenlerle eşleşmeyen herhangi bir değer için "her şeyi yakalayan" (catch-all) bir yapı gibidir.

İşte bir sayıyı kontrol eden basit bir örnek:

let number = 2;

match number {
    1 => println!("One"),
    2 => println!("Two"),
    _ => println!("Other"),
}

Rust'ta, match ifadeleri kapsamlı olmalıdır, yani her olası değeri ele almalıdırlar. Bu yüzden joker karakter _ çok önemlidir - açıkça eşleştirilmeyen tüm durumları kapsamanızı sağlar.

challenge icon

Görev

Kolay

num değerini alan ve sayının değerine göre bir dize açıklaması döndüren bir describe_number fonksiyonu yazın.

Farklı sayılar için farklı açıklamalar döndürmek üzere bir match ifadesi kullanın.

Koşullar:

  • Eğer num değeri 0 ise, "zero" döndürün
  • Eğer num değeri 1 ise, "one" döndürün
  • Eğer num değeri 2 ise, "two" döndürün
  • Eğer num değeri 3 ise, "three" döndürün
  • Diğer tüm sayılar için "many" döndürün

Parametreler:

  • num (i32): Tanımlanacak sayı

Döndürür: Sayının dize açıklaması (String)

Kopya kağıdı

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

match value {
    pattern1 => code_to_run,
    pattern2 => code_to_run,
    _ => default_code,
}

match içindeki her satıra bir "kol" (arm) denir. =>, deseni o desen eşleştiğinde çalışan koddan ayırır.

Örnek:

let number = 2;

match number {
    1 => println!("One"),
    2 => println!("Two"),
    _ => println!("Other"),
}

Alt çizgi _, diğer desenler tarafından kapsanmayan her şeyle eşleşen bir joker (wildcard) desendir. match ifadeleri kapsamlı (exhaustive) olmalıdır - her olası değeri ele almalıdırlar.

Kendin dene

fn describe_number(num: i32) -> String {
    // Buraya kod yazın
}
quiz iconKendini test et

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

Logic & Flow bölümündeki tüm dersler