Avatar ·

Rust में Result को Option में बदलने का साफ तरीका

नमस्ते साथियों! मैंने अभी Rust सीखना शुरू किया है और एक सामान्य स्थिति का सामना किया: मेरे पास एक फंक्शन है जो `Result` लौटाता है, लेकिन आगे के काम के लिए मुझे `Option` चाहिए। उदाहरण के लिए, मैं एक एनवायरनमेंट वेरिएबल पढ़ रहा हूं:\n\n```rust\nuse std::env;\n\nfn main() {\n let port: Option = env::var("PORT") // Result\n .and_then(|s| s.parse()) // Result\n .ok(); // ???\n}\n```\n\nमुझे पता है कि `.ok()` का उपयोग किया जा सकता है, जो `Result` को `Option` में बदल देता है, एरर को छोड़ देता है। लेकिन मुझे यह बहुत साफ तरीका नहीं लगता — हम एरर के बारे में जानकारी खो देते हैं। शायद कोई और अधिक इडियोमैटिक तरीका हो?\n\nदूसरी समस्या: मेरे पास कई `Result` के साथ एक चेन कॉल है, और मैं उन्हें `Opti