@@ -200,15 +200,16 @@ essayons d'ouvrir n'existe pas encore.
200200
201201La condition ` if error.kind() == ErrorKind::NotFound ` est ce qu'on appelle un
202202* match guard* : c'est une condition supplémentaire sur une branche d'un bloc
203- ` match ` qui raffine le pattern d'une branche. Cette condition doit être valide
204- pour que le code de cette branche soit exécutée; autrement, le pattern matching
205- s'orientera sur la branche suivante dans le ` match ` . ** (TODO) The ` ref ` in the
206- pattern is needed so ` error ` is not moved into the guard condition but is
207- merely referenced by it.** La raison pour laquelle ` ref ` est utilisé pour
208- stocker une référence dans le pattern plutôt que un ` & ` va être expliquée en
209- détails dans le Chapitre 18. Pour faire court, dans le cas d'un pattern, ` & `
210- est associé à une référence et nous retourne sa valeur, mais ` ref ` associe une
211- valeur et nous donne une référence vers elle.
203+ ` match ` qui raffine le pattern d'une branche. Cette condition doit être vraie
204+ pour que le code de cette branche soit exécuté; autrement, le pattern matching
205+ s'orientera sur la branche suivante dans le ` match ` . Le ` ref ` dans le pattern
206+ est requis pour que ` error ` ne soit pas déplacée dans dans le conditon du match
207+ guard mais qu'elle soit simplement référencée par elle (NdT: vérifier la trad).
208+ La raison pour laquelle ` ref ` est utilisé pour stocker une référence dans le
209+ pattern plutôt que un ` & ` va être expliquée en détails dans le Chapitre 18.
210+ Pour faire court, dans le cas d'un pattern, ` & ` est associé à une référence et
211+ nous retourne sa valeur, mais ` ref ` associe une valeur et nous donne une
212+ référence vers elle.
212213
213214Le cas que nous voulons vérifier dans le match guard est lorsque la valeur
214215retournée par ` error.kind() ` est la variante de ` NotFound ` de l'enum
0 commit comments