Menu
Coddy logo textTech

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.

challenge icon

Görev

Kolay

Girdi 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, 4 veya 5 ise, "Weekday" yazdırın
  • Eğer gün 6 veya 7 ise, "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
    
}
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