Comment convertir Option en Result en Rust sans utiliser de macros ?
Bonjour à tous. J'apprends Rust et j'ai rencontré un problème de conversion de `Option` en `Result`. Souvent dans mon code, je me retrouve dans une situation où j'obtiens un `Option` à partir d'une fonction (par exemple, d'un itérateur ou d'une table de hachage), mais j'ai besoin de retourner un `Result` pour traiter l'absence de valeur comme une erreur.
Pour l'instant, je fais cela avec match ou if let, mais cela semble lourd. Par exemple :
```rust
fn find_user(id: u32) -> Result {
let users = get_users();
match users.iter().find(|u| u.id == id) {
Some(user) => Ok(user.clone()),
None => Err("User not found".to_string()),
}
}
```
Je sais qu'on peut écrire une macro, mais je me demande : existe-t-il un moyen intégré de le faire sans écrire sa propre macro ? Y a-t-il quelque chose dans la bibliothèque standard ?
No answers yet.
Connectez-vous pour laisser une réponse