mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-11 22:43:42 +00:00
Refactor examples and enhance documentation in result.rs
This commit is contained in:
parent
a6e87c546d
commit
336dd16d05
@ -45,25 +45,29 @@
|
||||
//! that make working with it more succinct.
|
||||
//!
|
||||
//! ```
|
||||
//! // The `is_ok` and `is_err` methods do what they say.
|
||||
//! let good_result: Result<i32, i32> = Ok(10);
|
||||
//! let bad_result: Result<i32, i32> = Err(10);
|
||||
//!
|
||||
//! // The `is_ok` and `is_err` methods do what they say.
|
||||
//! assert!(good_result.is_ok() && !good_result.is_err());
|
||||
//! assert!(bad_result.is_err() && !bad_result.is_ok());
|
||||
//!
|
||||
//! // `map` consumes the `Result` and produces another.
|
||||
//! // `map` and `map_err` consume the `Result` and produces another.
|
||||
//! let good_result: Result<i32, i32> = good_result.map(|i| i + 1);
|
||||
//! let bad_result: Result<i32, i32> = bad_result.map(|i| i - 1);
|
||||
//! let bad_result: Result<i32, i32> = bad_result.map_err(|i| i - 1);
|
||||
//! assert_eq!(good_result, Ok(11));
|
||||
//! assert_eq!(bad_result, Err(9));
|
||||
//!
|
||||
//! // Use `and_then` to continue the computation.
|
||||
//! let good_result: Result<bool, i32> = good_result.and_then(|i| Ok(i == 11));
|
||||
//! assert_eq!(good_result, Ok(true));
|
||||
//!
|
||||
//! // Use `or_else` to handle the error.
|
||||
//! let bad_result: Result<i32, i32> = bad_result.or_else(|i| Ok(i + 20));
|
||||
//! assert_eq!(bad_result, Ok(29));
|
||||
//!
|
||||
//! // Consume the result and return the contents with `unwrap`.
|
||||
//! let final_awesome_result = good_result.unwrap();
|
||||
//! assert_eq!(final_awesome_result)
|
||||
//! ```
|
||||
//!
|
||||
//! # Results must be used
|
||||
|
Loading…
Reference in New Issue
Block a user