Wie ändere ich einen Wert in einem veränderbaren HashMap in Rust?
Hallo Kollegen! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem bei der Arbeit mit HashMap gestoßen.
Ich habe einen veränderbaren (mutable) HashMap, der Paare "Benutzername" -> "Punktzahl" speichert. Ich möchte den Wert für einen bestimmten Benutzer aktualisieren, z.B. seine Punktzahl um 10 erhöhen. Hier ist mein Code:
```rust
use std::collections::HashMap;
fn main() {
let mut scores = HashMap::new();
scores.insert("Alice", 100);
scores.insert("Bob", 200);
// Versuche, den Wert für Alice zu aktualisieren
let alice_score = scores.get("Alice");
match alice_score {
Some(score) => {
*score += 10; // Fehler!
},
None => println!("Benutzer nicht gefunden"),
}
println!("{:?}", scores);
}
```
Der Compiler gibt einen Fehler aus: "cannot borrow `scores` as immutable because it is also borrowed as mutable". Ich verstehe, dass dies mit den borrowing rules zusammenhängt, aber ich kann nicht herausfinden, wie ich den Wert richtig aktualisiere.
Könnt ihr mir helfen?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Funktional oder OOP in PHP: Was wählen im Jahr 2024?
Integrationstests von TypeScript mit Docker: Vollständiger Leitfaden
Gehälter von JavaScript-Entwicklern in Russland: Marktüberblick für Fortgeschrittene im Jahr 2024
Magie von Kotlin: Was macht das Schlüsselwort `by` und wie vereinfacht es den Code?