2个版本
0.1.1 | 2023年7月30日 |
---|---|
0.1.0 | 2023年4月3日 |
#2471 in Rust模式
7KB
upget
一个非常简单的trait,用于匹配值"update"和"get"。
此crate的作者英语水平不佳。
如果文档难以阅读,请见谅。
Upget
trait只有一个upget
方法,该方法仅使用闭包更新self
值,然后检索它。就是这样,但它允许你重构常见的代码模式。
目标代码
例如,以下代码可以重构...
fn clone_with_sort(vec: &Vec<String>) -> Vec<String> {
let mut result = vec.clone();
result.sort();
result
}
如下。
fn clone_with_sort(vec: &Vec<String>) -> Vec<String> {
vec.clone().upget(|x| x.sort())
}
这种重构有以下优点。
- 简化代码。
- 消除中间变量。
- 消除
mut
指定。
lib.rs
:
Upget
的提供者。
此crate的作者英语水平不佳。
如果文档难以阅读,请见谅。
可以使用以下方式使用Upget
trait进行重构。
重构前。
fn clone_with_sort(vec: &Vec<String>) -> Vec<String> {
let mut result = vec.clone();
result.sort();
result
}
重构后。
fn clone_with_sort(vec: &Vec<String>) -> Vec<String> {
vec.clone().upget(|x| x.sort())
}