【发布时间】:2016-04-29 11:12:14
【问题描述】:
我有这个枚举类型:
enum Animal {
Dog(i32),
Cat(u8),
}
现在我有一个将这种类型作为参数的函数。我知道(出于某种原因)输入始终是Cat。我想实现这个:
fn count_legs_of_cat(animal: Animal) -> u8 {
if let Animal::Cat(c) = animal { c } else { unreachable!() }
}
我可以写这个更短和/或更惯用的吗?
【问题讨论】:
-
截至 2019 年,此代码实际上确实适用于稳定版 - 自从提出此问题以来,枚举得到了改进。见:play.rust-lang.org/…>
-
@alias65536 该代码在当时也有效。问题在于是否存在更好的方法。