Я сегодня впервые попробовал свои силы в Rust (написал токенизатор XML), и, естественно, не все понимаю:
У меня есть структура с полем, которое может принимать значение перечисления:
enum State { Outside, InATag(~str) }
struct Tokenizer { state: State }
В impl Tokenizer
я хочу сопоставить текущее состояние и изменить его в некоторых случаях, однако это всегда дает ошибку use of moved value
.
H для доступа и/или объявления поля состояния, чтобы я мог сопоставить его и изменить его значение внутри ветки соответствия?
Извините за путаницу, я хотел изменить поле состояния Tokenizer, а не поле состояния String!
match self.state {
InATag(name) => self.state = Outside,
Outside => ()
}
match
недавно изменилось (или изменится, может быть, в 0.7). - person barjak   schedule 01.05.2013