我有以下枚举:
enum Token {
Word(String),
Semicolon,
Comma
}
我没有实施Eq
。我想写一个函数来匹配上面的类型比较:
fn expect(t: &Token, const_t: &Token) -> bool {
match (t, const_t) {
(&Token::Semicolon, &Token::Semicolon) => true,
(&Token::Comma, &Token::Comma) => true,
_ => false,
}
}
上面的代码正在运行,但可扩展性差。如果我有100个变种,我会有很多辅助函数,并且会依赖默认匹配_
。
我没有看到隐藏Enum
的不同变体的简单方法,只是简单地说'#34;我想匹配两个类似枚举的变体"。
为此目的还有其他解决方法吗?