Qu'est-ce que ce déballer chose: il est parfois déballer parfois, il est unwrap_or
Note Les détails de cette question concernant
read_line
et~str
se rapportent à une pré-version 1.0 de la Rouille. Les concepts généraux surunwrap
etunwrap_or
restent pertinentes.
J'ai rencontrée lors de la lecture de la Rouille pour Rubyists c'est à dire:
let mut reader = BufferedReader::new(io::stdin());
let input = reader.read_line().unwrap_or(~"nothing");
Vous devez vous connecter pour publier un commentaire.
Parce que
read_line
peut échouer il retourneOption<~str>
. Pour obtenir la valeur, vous pouvez utiliser la correspondance de motif ou de l'une des défaites les méthodes.La différence entre
unwrap
etunwrap_or
est queunwrap
échouera s'il n'y a pas de valeur (None
) maisunwrap_or
sera de retour la valeur par défaut ("rien" dans ce cas)La rouille a la documentation de l'API qui explique ces choses.
BufferedReader.read_line
:Vous aurez également
None
retourné si tout a été lu dans le lecteur..déballer
:Qui est,
Some(a).unwrap()
retournea
None.unwrap()
échoue.unwrap_or
:Qui est,
Some(a).unwrap_or(b)
retournea
None.unwrap_or(b)
retourneb