39
Come posso modificare il campo struct dal metodo?Come modificare il campo struct nel metodo
voglio fare che
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();
}
Ma questo codice di tiro errore di compilazione:
/src/main.rs:8:3: 8:14 error: cannot assign to immutable field `self.y`
/src/main.rs:8 self.y += 1;
Che 'let p' dovrebbe essere' let mut p', per consentire il prestito mutabile. Ho provato a risolverlo ma StackOverflow richiede che le modifiche siano almeno di 6 caratteri. – Sgeo
@Sgeo, grazie, mi sono perso! –
@VladimirMatveev Voglio solo dire che anche se hai letto e lavorato nel libro, non avendo mai visto prima questi concetti, potrebbe non avere molto senso finché non ti imbatti in una situazione reale in cui è rilevante. Come è stato per me, quindi queste risposte sono ancora molto utili;) – Aeolun