Birden Çok Değeri Eşleştirme
Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 2 / 66.
Bazen, hepsi aynı kodu tetiklemesi gereken birkaç farklı değeri eşleştirmeniz gerekir. Her bir değer için ayrı kollar yazmak yerine, Rust, | (VEYA) operatörünü kullanarak tek bir kolda birden fazla deseni birleştirmenize olanak tanır.
Tek bir kolda birden fazla değeri şu şekilde eşleştirebilirsiniz:
let month = 12;
match month {
12 | 1 | 2 => println!("Winter"),
3 | 4 | 5 => println!("Spring"),
6 | 7 | 8 => println!("Summer"),
9 | 10 | 11 => println!("Fall"),
_ => println!("Invalid month"),
}| operatörü İngilizcedeki "OR" gibi çalışır - eğer değer | ile ayrılmış desenlerden herhangi biriyle eşleşirse, o kol çalışacaktır. Bu, kodunuzun hepsinin aynı şeyi yaptığı ayrı kollara sahip olmasından çok daha temiz olmasını sağlar.
Görev
KolayGirdi olarak haftanın bir gününü temsil eden bir gün numarası (1-7) alacaksınız. Girdiyi okuyun, bir tam sayıya dönüştürün ve bunun bir hafta içi mi yoksa hafta sonu mu olduğunu yazdırmak için | operatörü ile birlikte bir match ifadesi kullanın.
Gereksinimler:
- Eğer gün
1,2,3,4veya5ise,"Weekday"yazdırın - Eğer gün
6veya7ise,"Weekend"yazdırın - Diğer tüm sayılar için
"Invalid day"yazdırın
Girdi: Gün numarasını temsil eden tek bir tam sayı
Çıktı: "Weekday", "Weekend" veya "Invalid day" ifadelerinden birini yazdırın
Kopya kağıdı
| (VEYA) operatörünü kullanarak tek bir eşleşme kolunda birden fazla deseni birleştirebilirsiniz. Eğer değer | ile ayrılmış desenlerden herhangi biriyle eşleşirse, o kol çalıştırılacaktır.
let month = 12;
match month {
12 | 1 | 2 => println!("Winter"),
3 | 4 | 5 => println!("Spring"),
6 | 7 | 8 => println!("Summer"),
9 | 10 | 11 => println!("Fall"),
_ => println!("Invalid month"),
}Kendin dene
use std::io;
fn main() {
// Girdiyi oku
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let day: i32 = input.trim().parse().expect("Please enter a number");
// YAPILACAK: Aşağıya | operatörünü kullanarak match ifadesi ile kodunuzu yazın
}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
1İleri Seviye Kontrol Akışı
'match' İfadesiBirden Çok Değeri EşleştirmeAralıkları Eşleştirme'if let' İfadesiİfade Olarak DöngülerÖzet - Basit Komut Ayrıştırıcı4Struct'lar ile Verileri Gruplama
Struct Nedir?Struct'lara Genel BakışStruct Alanlarına ErişmeMutable Struct'larFonksiyon Parametresi Olarak Struct'larTuple Struct'larÖzet - Bir Kitap Struct'ı Oluşturun7'Result' ile Hata Yönetimi
'Result' Nedir?'Result' ile 'match' Kullanımıis_ok() ve is_err()Kısayollar: unwrap ve expectSoru İşareti Operatörü '?'String'leri Sayılara DönüştürmeÖzet - Güvenli Bölme Fonksiyonu10Closures ve Anonim Fonksiyonlar
Closure Nedir?Basit Bir Closure TanımlamaParametreli Closure'larOrtamı YakalamakÖzet - Basit Toplayıcı Closure2Vektörlere Giriş
Vektör Nedir?Vektör Oluşturmapush ile Eleman EklemeVektör Elemanlarına ErişmeVektör Üzerinde YinelemeDeğiştirilebilir YinelemeEleman KaldırmaÖzet - Temel Skor Takipçisi5Hash Map'ler ile Anahtar-Değer Çiftleri
Hash Map Nedir?Bir Hash Map OluşturmaAnahtar-Değer Çiftleri EklemeDeğerlere ErişmeBir Hash Map Üzerinde GezinmeBir Değeri GüncellemeBir Çifti KaldırmaÖzet - Kelime Sayacı11Son Meydan Okumalar
Özet - Benzersiz ÖğelerÖzet - Kullanıcı Profili DoğrulayıcıÖzet - Not Özetleyici3Komut Satırı Yapılacaklar Listesi
Proje KurulumuGörev EklemeTüm Görevleri GörüntülemeGörev SilmeFinal Kodu6'Option' ile Yokluğu Yönetme
'Option' Nedir?'Option' ile 'match' Kullanımıis_some() ve is_none()Bir 'Option' Değerini Açmak (Unwrapping)expect MetoduVarsayılan Değer Sağlama: unwrap_orÖzet - Bir Eleman Bulma9String Dilimleri ve Daha Fazlası
String ve &strString Dilimleri OluşturmaFonksiyon Parametresi Olarak DilimlerDiğer DilimlerÖzet - İlk Kelimeyi Bulma