Avatar ·

Rust में Option<String> को Option<&str> में बदलना: सही तरीका क्या है?

सभी को नमस्कार! मैंने अभी Rust सीखना शुरू किया है और प्रकार रूपांतरण की समस्या का सामना करना पड़ा। मेरे पास एक function है जो `Option` लौटाता है, लेकिन मुझे इसके परिणाम को दूसरे function में पास करना है जो `Option<&str>` की अपेक्षा करता है। यहाँ एक सरल उदाहरण है: ```rust fn get_name() -> Option { Some("Alice".to_string()) } fn print_name(name: Option<&str>) { match name { Some(n) => println!("Hello, {}", n), None => println!("No name provided"), } } fn main() { let name = get_name(); // print_name में name कैसे पास करें? print_name(name); // संकलन त्रुटि! } ``` कंपाइलर त्रुटि देता है: `expected Option<&str>, found Option`। मैं समझता हूँ कि `String` और `&str` अलग-अलग प्रकार हैं, लेकिन `Option` को `Option<&str>` में सही तरीके से कैसे बदलें? मैंने ऐसा करने की कोशिश की: `print_name(name.as_deref())`, लेकिन मुझे यकीन नहीं है कि यह सही है। कृपया समझाएँ कि यह कैसे काम करता है और Rust में कौन सा तरीका idiomatic माना जाता है। पहले से धन्यवाद!