3 个版本
0.1.2 | 2021 年 4 月 13 日 |
---|---|
0.1.1 | 2021 年 3 月 27 日 |
0.1.0 | 2021 年 3 月 25 日 |
#44 in #inspect
6KB
respector
为 Option
和 Result
类型添加 inspect
方法。
这允许在传递值的同时对 Some
、Ok
(使用 inspect
)或 Err
(使用 inspect_err
)进行处理,这在调试、日志记录等场景中引入副作用可能很有用。
用法
use respector::prelude::*;
let some = Some(10);
assert_eq!(some.inspect(|x| println!("Some({})", x)), some); // Prints `Some(10)`.
let ok = Ok::<_, ()>(10);
assert_eq!(ok.inspect(|x| println!("Ok({})", x)), ok); // Prints `Ok(10)`.
let err = Err::<(), _>(10);
assert_eq!(Err(10).inspect_err(|x| println!("Err({})", x)), err); // Prints `Err(10)`.