تخطَّ إلى المحتوى

🦀 شرح Rust

التعدادات ومطابقة الأنماط

الدرس 13 من 25· ⏱ 1 دقائق قراءة

التعداد

enum Direction {
    Up,
    Down,
    Left,
    Right,
}

let d = Direction::Up;

تعداد يحمل بيانات

enum Shape {
    Circle(f64),
    Rectangle(f64, f64),
}

let s = Shape::Circle(2.0);

مطابقة الأنماط: match

let area = match s {
    Shape::Circle(r) => 3.14 * r * r,
    Shape::Rectangle(w, h) => w * h,
};

⚠️ match يجب أن يغطّي كل الاحتمالات، وإلا لن يُترجم — أمان إضافي.

النمط الافتراضي

let n = 3;
match n {
    1 => println!("واحد"),
    2 => println!("اثنان"),
    _ => println!("غير ذلك"),   // _ يلتقط الباقي
}

if let للحالة الواحدة

if let Direction::Up = d {
    println!("للأعلى");
}

🎯 التالي: Option و Result.

هل كان هذا الدرس مفيدًا؟