我们说我有这样的枚举
pub enum Status<T> {
Error,
NotStarted,
Incomplete,
Complete(T),
}
我想要这样做
match foo(x) {
Complete(i) => Complete(bar(i)),
Error => Error,
NotStarted => NotStarted,
Incomplete => Incomplete,
}
即。如果它匹配一个&#34;特殊&#34;选项和返回匹配输入否则看不见。在我的代码中,这种情况发生了很多。
还有另一种方法可以用更短的方式做到这一点吗?可能是这样的:
match foo(x) {
Complete(i) => Complete(bar(i)),
_ => _,
}
答案 0 :(得分:3)
将其他案例绑定到名称并返回
match foo(x) {
Complete(i) => Complete(bar(i)),
other => other,
}