【发布时间】:2017-04-19 02:51:32
【问题描述】:
假设我有这个代码:
fn non_zero_rand() -> i32 {
let x = rand();
match x {
0 => 1,
_ => x,
}
}
有没有一种简洁的方法将rand() 放入匹配中,然后将其绑定到一个值。例如。像这样:
fn non_zero_rand() -> i32 {
match let x = rand() {
0 => 1,
_ => x,
}
}
或许:
fn non_zero_rand() -> i32 {
match rand() {
0 => 1,
_x => _x,
}
}
【问题讨论】:
-
你的第二个例子应该可以工作
-
_x => _x会工作,但它在语义上不正确。前导下划线表示“此值未使用”,因此此处不合适。