Tour de Rust Table des matières

Gestion peu élégante de Option/Result

Utiliser Option et Result peut être fastidieux lorsqu'on souhaite rapidement écrire du code. Option et Result ont tout les deux une fonction appelé unwrap qui permet d'obtenir une valeur de manière rapide mais peu élégante. unwrap va:

  1. Renvoyer la valeur de notre Option ou Result

  2. Faire 'paniquer' le code si la valeur de l'énumération est de type None ou Err. Lorsqu'un programme Rust panique, il envoie un message d'erreur et s'arrête.

    Ces deux bout de code sont équivalent

 my_option.unwrap()
 match my_option {
     Some(v) => v,
     None => panic!("un message d'erreur généré par Rust!"),
 }

De même:

 my_result.unwrap()
 match my_result {
     Ok(v) => v,
     Err(e) => panic!("un message d'erreur généré par Rust!"),
 }

Tu doit être un bon rustacien et utiliser match comme il faut et quand tu peux.