2 个版本 (1 个稳定版本)
1.0.0 | 2023 年 11 月 5 日 |
---|---|
0.1.0 | 2023 年 11 月 5 日 |
#1751 在 Rust 模式
5KB
try-unwrap
一款革命性的新库,允许您在不让您的愚蠢软件崩溃的情况下调用 unwrap()。
您是否曾希望“天哪,我多么希望我可以在任何地方使用 unwrap() 而不使我的代码崩溃”?我们正好有这个答案!这个革命性的库向 Result
和 Option
类型添加了 try_unwrap
,允许您安全地调用 unwrap
!
它是如何工作的?实际上非常简单。如果您的类型是 Ok
,则 try-unwrap 将成功调用 unwrap
并返回该类型。如果结果是 Err
,则它将解包错误并为您返回该错误!而且不用担心类型严格性:我们返回一个支持 Ok
和 Err
的 Result
值!
示例
无论您的类型是 Result
还是 Option
,使用 try-unwrap 非常简单!
let ok: Result<i32, ()> = Ok(3);
assert_eq!(ok.try_unwrap(), Ok(3));
let err: Result<(), i32> = Err(2);
assert_eq!(err.try_unwrap(), Err(2));
let some: Option<i32> = Some(4);
assert_eq!(some.try_unwrap(), Some(4));
let none: Option<i32> = None;
assert_eq!(none.try_unwrap(), None);
等等,什么?
我们知道!没有人想到这一点真是太疯狂了。但不用担心了,因为我们做到了。
这难道不是毫无用处吗?
什么?当然不是!
你是怎么做到的?
您所有燃烧的问题答案都在这里:https://hackerbirds.neocities.org/try-unwrap/