是否有更好的方法来访问在各种情况下共享相同变量类型的枚举的内容?
目前我是这样解决的:
enum Token<'a> {
Word(&'a str),
Reserved(&'a str),
Whitespace(&'a str),
}
impl<'a> ToString for Token<'a> {
fn to_string(&self) -> String {
match self {
Self::Word(str) | Self::Reserved(str) | Self::Whitespace(str) => str.to_string(),
}
}
}
最佳答案
这个实现没有。但你可以(也许应该)改为
enum TokenKind {
Word,
Reserved,
Whitespace,
}
struct Token<'a> {
string: &'a str,
kind: TokenKind
}
这更具可扩展性,并且代码重复更少。
关于rust - 有没有比匹配更好的方法来访问相同类型的枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72997331/