كيفية الحصول على مرجع إلى قيمة داخل Option<T> في Rust دون نقل؟
مرحبًا أيها الزملاء! أنا مبتدئ في Rust وقد واجهت مشكلة تبدو غريبة جدًا بالنسبة لي. لدي هيكل يحتوي على حقل من النوع `Option`. أريد كتابة دالة تُرجع مرجعًا إلى السلسلة النصية داخل هذا Option، إذا كانت موجودة، أو شيئًا مثل `None` إذا لم تكن موجودة.\n\nهذا هو الكود الخاص بي:\n\n```rust\nstruct Person {\n name: Option,\n}\n\nimpl Person {\n fn get_name(&self) -> &str {\n // كيف يمكنني الحصول على مرجع إلى String داخل Option هنا؟\n // self.name.unwrap() // خطأ: لا يمكن النقل من سياق مستعار\n // &self.name.unwrap() // هذا أيضًا لا يعمل\n }\n}\n```\n\nعندما أحاول استخدام `unwrap()`، يقول المترجم إنني أحاول نقل القيمة من `self.name`، ولكن `self` مستعار فقط بواسطة مرجع.