39
Как я могу мутировать поле структуры из метода?Как мутировать поле структуры в методе
Я хочу сделать это
struct Point {
x: int,
y: int,
}
impl Point {
fn up(&self) {
self.y += 1;
}
}
fn main() {
let p = Point { x: 0, y: 0 };
p.up();
}
Но этот код броска компиляции ошибка:
/src/main.rs:8:3: 8:14 error: cannot assign to immutable field `self.y`
/src/main.rs:8 self.y += 1;
Это 'let p' должно быть' let mut p', чтобы разрешить изменчивый заимствовать. Я попытался исправить это, но Stackoverflow хочет, чтобы изменения составляли не менее 6 символов. – Sgeo
@Sgeo, спасибо, пропустил! –
@VladimirMatveev Я просто хочу сказать, что, даже если вы читали и работали над книгой, никогда раньше не замечая этих концепций, это может не иметь особого смысла, пока вы не столкнетесь с реальной ситуацией, когда это уместно. Как это было для меня, так что эти ответы по-прежнему очень полезны;) – Aeolun