Rust में किसी स्ट्रक्चर के फील्ड को मेथड से कैसे बदलें?
नमस्ते साथियों! मैंने अभी Rust सीखना शुरू किया है और एक समस्या का सामना किया जो सरल लगती है, लेकिन मैं इसे हल नहीं कर पा रहा हूँ। मेरे पास एक `Counter` स्ट्रक्चर है जो एक संख्या स्टोर करता है। मैं एक `increment` मेथड लिखना चाहता हूँ जो इस संख्या को 1 से बढ़ाए। लेकिन कंपाइलर एक एरर देता है, और मैं समझ नहीं पा रहा हूँ क्यों।
यहाँ मेरा कोड है:
```rust
struct Counter {
value: i32,
}
impl Counter {
fn increment(&self) {
self.value += 1; // एरर!
}
}
fn main() {
let mut counter = Counter { value: 0 };
counter.increment();
println!("{}", counter.value);
}
```
कंपाइलर कहता है: `cannot borrow `self.value` as mutable, as `self` is a `&` reference`। मैंने सोचा था कि अगर मैं `counter` को `mut` घोषित करूँ, तो मैं मेथड के अंदर इसके फील्ड्स को बदल सकता हूँ। लेकिन जाहिर है, ऐसा नहीं है। कैसे