كيفية استخراج القيمة الداخلية من متغير enum عندما أعرف بالضبط أي متغير هو؟
مرحبًا! أنا أكتب بلغة Rust وواجهت مشكلة أثناء العمل مع التعدادات. لدي هذا الكود:\n\n```rust\nenum Message {\n Text(String),\n Number(i32),\n Quit,\n}\n\nfn process(msg: Message) {\n // أنا أعرف بالتأكيد أن msg هو Text(String)\n // لكن كيف يمكنني الحصول على السلسلة النصية؟\n let text = msg; // هنا خطأ بالطبع\n println!("الرسالة: {}", text);\n}\n```\n\nغالبًا ما أواجه مواقف أعرف فيها بالتأكيد أي متغير من enum أتعامل معه - على سبيل المثال بعد التحقق من شرط أو في سياق يضمنه منطق البرنامج. لكن Rust لا يسمح ببساطة بـ "فتح" enum واستخراج القيمة الداخلية.\n\nأعرف عن `match`، لكن كتابة match كامل مع معالجة جميع المتغيرات عندما أكون متأكدًا من متغير واحد محدد يبدو زائدًا عن الحاجة. استخدام `if let` يبدو...