Rustin ympäriajo Sisällysluettelo

Option:in Ja Result:in Käsittely Rosoisesti

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:

  1. Ottaa arvon, joka on Option/Result:in sisällä
  2. Jos tällaista arvoa ei löydy, se pysäyttää koko ohjelman käyttäen 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!