2 个不稳定版本
0.2.0 | 2023 年 1 月 1 日 |
---|---|
0.1.0 | 2023 年 1 月 1 日 |
#2993 在 Rust 模式
每月 98 次下载
7KB
65 行
macro-map
lib.rs
:
这是一个小巧的工具集,使用宏来代替函数调用回调,实现了 Option::ok_or_else
和 Result::map_err
。
这减少了当你不能使用上述函数时(因为你需要的错误处理逻辑需要将某些值移动到闭包中,而你无法承担这样的开销),所需的样板代码。
人们通常会通过 .clone()
-ing 要传递到闭包中的值来解决这个问题,但这很糟糕,因为
- 你需要
.clone()
项,而这并不总是可能的; .clone()
实际上并不必要,你可以使用手动match
重写代码,而不需要所有权转移。
但是写一个 match 语句很啰嗦,谁会想要那样呢?!这正是这个 crate 出现的地方。
为了获得最佳的外观和感觉,请与 postfix-macros
crate 结合使用。