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.
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);
}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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik Girdi