Ξενάγηση στη Rust Πίνακας Περιεχομένων

Τσαπατσούλικος χειρισμός των `Option` και `Result`

Για την ταχεία συγγραφή κώδικα, ο χειρισμός των Option/Result μπορεί να γίνει πληκτικός. Αμφότεροι οι τύποι λοιπόν έχουν μία μέθοδο ονόματι unwrap η οποία είναι χρήσιμη για την εξαγωγή μίας τιμής «στα βρώμικα». Αυτή η μέθοδος:

  1. Εξάγει την τιμή που περιέχεται στο Option/Result
  2. Αν δε βρει κάποια τέτοια τιμή, τερματίζει ολόκληρο το πρόγραμμα, με τη χρήση της μακροεντολής panic!.

Τα παρακάτω δύο τμήματα κώδικα είναι ισοδύναμα:

my_option.unwrap()
match my_option {
    Some(v) => v,
    None => panic!("κάποιο μήνυμα λάθους"),
}

Ομοίως:

my_result.unwrap()
match my_result {
    Ok(v) => v,
    Err(e) => panic!("Μήνυμα λάθους"),
}

Είναι πάντοτε πολύ προτιμότερο να χρησιμοποιεί κανείς τις δυνατότητες που επιτρέπουν τη συνέχιση της ροής του προγράμματος ακόμα κι αν έχει συμβεί σφάλμα, όπως το match και το ?. Υπάρχουν και πιο εύχρηστες επιλογές βέβαια, όπως το unwrap_or ή το map και το and_then. Φροντίστε λοιπόν να χρησιμοποιείτε το unwrap όσο το δυνατόν σπανιότερα!