小编Der*_*ric的帖子

在 Rust 模式匹配中将变量绑定到文字

我有一个用 Rust 编写的状态机,它需要对两个状态执行相同的操作。

这两种状态都是枚举的变体,但包含不同数量的元素。

match self.state {
    RunState::ACCUMULATE(byte, count) | RunState::ESCAPE(count) => todo!(), 
    _ => todo!()
}
Run Code Online (Sandbox Code Playgroud)

该示例是无效的源代码,因为byte未绑定在所有模式中。

这可以通过byte在第二个模式中绑定到文字零来解决,但我不知道如何存档。

我目前正在分别匹配这两种模式,这会导致我想避免的代码重复。

感谢您的关注。

pattern-matching rust

2
推荐指数
1
解决办法
1339
查看次数

标签 统计

pattern-matching ×1

rust ×1