Avatar ·

Rust में एकल उद्धरण चिह्न (') वाले पहचानकर्ताओं का क्या अर्थ है?

नमस्ते! मैंने हाल ही में Rust सीखना शुरू किया है और दूसरों के कोड में अक्सर अजीब पहचानकर्ता देखता हूँ जो एकल उद्धरण चिह्न से शुरू होते हैं, जैसे `'a`, `'static`, `'b`। पहले मैंने सोचा कि ये कुछ macros या विशेष वेरिएबल हैं, लेकिन बाद में देखा कि ये अक्सर functions और structs की घोषणाओं में आते हैं। यहाँ एक उदाहरण है जो मुझे documentation में मिला: ```rust fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { if x.len() > y.len() { x } else { y } } ``` `'a` क्या है? यह function के नाम के बाद angle brackets में क्यों है? मैं समझता हूँ कि यह lifetime से संबंधित है, लेकिन यह कैसे काम करता है यह समझ नहीं पा रहा। C++ या Java जैसी अन्य भाषाओं में मैंने ऐसा नहीं देखा। कृपया सरल शब्दों में समझाएँ कि ये क्या हैं और इनकी आवश्यकता क्यों है। विशेष रूप से `'static` मुझे भ्रमित करता है — यह अक्सर string literals और constants में आता है। मैं उदाहरणों के साथ स्पष्ट व्याख्या के लिए आभारी रहूँगा, क्योंकि अभी तक यह मेरे लिए जादू जैसा लगता है।