39
Wie kann ich Struktur Feld von Methode mutieren?Wie mutieren Struktur Feld in Methode
Ich will, dass
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();
}
Aber dieser Wurf Code kompilieren Fehler:
/src/main.rs:8:3: 8:14 error: cannot assign to immutable field `self.y`
/src/main.rs:8 self.y += 1;
Das 'let p' sollte' lassen mut p' sein, um das veränderbare Borgen zu erlauben. Ich habe versucht, es zu beheben, aber Stackoverflow möchte Bearbeitungen von mindestens 6 Zeichen haben. – Sgeo
@Sgeo, danke, verpasst es! –
@VladimirMatveev Ich möchte nur sagen, dass, selbst wenn Sie das Buch gelesen und durchgearbeitet haben, diese Konzepte nie zuvor gesehen haben, macht es vielleicht keinen Sinn, bis Sie in eine tatsächliche Situation geraten, in der es relevant ist. So wie es für mich war, sind diese Antworten immer noch sehr hilfreich;) – Aeolun