Avatar ·

Rust में enum मानों तक कैसे पहुँचें? match, if let और अन्य तरीकों को समझना

सभी को नमस्ते! मैंने हाल ही में Rust सीखना शुरू किया है और enums के साथ काम करते समय एक समस्या का सामना किया। मैंने ऑर्डर की स्थिति दर्शाने के लिए एक सरल enum बनाया:\n\n```rust\nenum OrderStatus {\n Pending,\n Processing,\n Shipped(String),\n Delivered { date: String, signature: bool },\n}\n```\n\nलेकिन मैं समझ नहीं पा रहा हूँ कि variants से डेटा कैसे निकालूँ। उदाहरण के लिए, जब स्थिति `Shipped` हो, तो मुझे ट्रैकिंग नंबर (`String`) प्राप्त करना है। जब `Delivered` हो — तारीख और हस्ताक्षर। बस `order_status.tracking_number` लिखने से काम नहीं चलता — कंपाइलर error देता है।\n\nमैंने `match` का उपयोग करने की कोशिश की, लेकिन syntax में लगातार भ्रमित होता हूँ और "expected enum, found &str" जैसी errors मिलती हैं। दस्तावेज़ में `if let` और `unwrap` के बारे में लिखा है, लेकिन मुझे समझ नहीं आता कि कब क्या उपयोग करना चाहिए। कृपया बताएँ कि सही तरीका क्या है।