Nopeaa ja likaista koodin kirjoittamista varten Option/Result kanssa työskentely voi olla puuduttavaa. Molemmilla tyypeillä on funktio nimeltä unwrap, joka on hyödyllinen arvon saamiseksi ilman suurempia mutkia. Tämä funktio:
panic!-makroa.Nämä kaksi koodinpätkää ovat samanarvoisia:
my_option.unwrap()
match my_option {
Some(v) => v,
None => panic!("some error message generated by Rust!"),
}
Samoin:
my_result.unwrap()
match my_result {
Ok(v) => v,
Err(e) => panic!("some error message generated by Rust!"),
}
On aina paljon parempi käyttää mahdollisuuksia, jotka antavat ohjelman jatkua, vaikka virhe olisi tapahtunut, kuten match ja ?. On myös mukavampia vaihtoehtoja, kuten unwrap_or tai map ja and_then. Joten muista käyttää unwrap:ia niin harvoin kuin mahdollista!