ماذا تعني المعرفات ذات علامة الاقتباس المفردة (') في Rust؟
بدأت تعلم Rust وأرى غالباً في الكود معرفات غريبة تبدأ بعلامة اقتباس مفردة، مثل `'a` أو `'b` أو `'static`. أفهم أنها ليست سلاسل نصية أو أحرفاً، لأنها تظهر بين أقواس زاوية بعد اسم الدالة أو في تعريف الهياكل.
هذا مثال وجدته في التوثيق:
```rust
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}
```
ما هو `'a`؟ لماذا هو مطلوب؟ وماذا يعني `'static` الذي رأيته في بعض الأمثلة؟ أعتقد أن Rust يستخدم هذه الرموز لشيء متعلق بالتحقق من الذاكرة، لكنني لا أستطيع فهم المنطق. اشرح لي، من فضلك، بكلمات بسيطة كمبتدئ.
<<>>
ما هي زمن الحياة (lifetimes) في Rust؟
المعرفات ذات علامة الاقتباس المفردة، مثل 'a أو 'b أو 'static، تُسمى تعليقات زمن الحياة (lifetime annotations). لا تؤثر على مدة بقاء