10
docs for Option
के अनुसार, Option
वेरिएंट Some<T>
और None
के साथ एक enum है।विकल्प का कुछ और कोई भी संस्करण क्यों योग्य नहीं होना चाहिए?
Some
और None
को योग्यता के बिना संदर्भित करना क्यों संभव है?
उदाहरण के लिए, इस ठीक काम करता है:
let x = Option::Some(5);
match x {
Some(a) => println!("Got {}", a),
None => println!("Got None"),
}
लेकिन इस संकलन करने में विफल रहता है:
enum Foo<T> {
Bar(T),
Baz,
}
let x = Foo::Bar(5);
match x {
Bar(a) => println!("Got {}", a),
Baz => println!("Got Baz"),
}
संकलक से त्रुटि unresolved enum variant, struct or const `Bar`
बिल्कुल सही, धन्यवाद। – krixon
जानना बहुत उपयोगी है, धन्यवाद! –