Avatar ·

كيفية استخراج القيمة الداخلية من enum عندما أعرف بالتأكيد أي حالة هي؟

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