相关疑难解决方法(0)

在对字段进行模式匹配时修改字段

我今天第一次尝试 Rust(编写 XML 标记器),自然不明白一切:

我有一个带有可以采用枚举值的字段的结构:

enum State { Outside, InATag(~str) }
struct Tokenizer { state: State }
Run Code Online (Sandbox Code Playgroud)

在 a 中impl Tokenizer,我想匹配当前状态,并在某些情况下更改它,但是这总是会use of moved value出错。

H 访问和/或声明状态字段,以便我可以匹配它并在匹配分支内更改其值?


抱歉造成混淆,我的意思是更改 Tokenizer 的 state 字段,而不是 state 的 String 字段!

match self.state {
    InATag(name) => self.state = Outside,
    Outside => ()
}
Run Code Online (Sandbox Code Playgroud)

pointers pattern-matching rust

6
推荐指数
2
解决办法
1551
查看次数

标签 统计

pattern-matching ×1

pointers ×1

rust ×1