39
Jak mogę zmutować pole struct z metody?Jak zmutować pole strukturalne w metodzie
chcę zrobić
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();
}
Ale to rzut kod skompilować błędu:
/src/main.rs:8:3: 8:14 error: cannot assign to immutable field `self.y`
/src/main.rs:8 self.y += 1;
To 'niech p' powinno być' let mut p', aby pozwolić na użyczenie zmiennego. Próbowałem to naprawić, ale Stackoverflow chce, żeby edycje miały co najmniej 6 znaków. – Sgeo
@Sgeo, dzięki, spudłowałem! –
@ Vladimir Matveev Po prostu chcę powiedzieć, że nawet jeśli czytasz i pracujesz nad książką, nigdy wcześniej nie widziałem tych pojęć, może to nie mieć większego sensu, dopóki nie natkniesz się na rzeczywistą sytuację, w której jest to istotne. Tak jak było dla mnie, więc te odpowiedzi są nadal bardzo pomocne;) – Aeolun