معالجة Option في Rust بأناقة: ما هو أبعد من unwrap()
2025-05-13
إن التعامل مع متغير None من نوع Option في Rust يُعد مشكلة شائعة. يستكشف هذا المقال بدائل أكثر أمانًا لـ unwrap()، مع التركيز على معالجة None بشكل قوي. يبدأ المقال بتشريح خطأ الترجمة الناتج عن استخدام عامل التشغيل ؟ مباشرةً، ومخاطر وقت التشغيل لـ unwrap(). ثم يفصل المقال ثلاث طرق: ok_or()، جمل match، وتعبيرات let-else (المُدخلة في Rust 1.65)، مع مقارنة إيجابيات وسلبيات كل منها. تظهر let-else كأفضل ممارسة مُوصى بها نظرًا لإيجازها، وقابليتها للقراءة، وسهولة صيانتها، مما يؤدي إلى رمز أكثر قوة وسهولة في الفهم.
التطوير