Ecco quello che sto cercando di fare:valore di aggiornamento in HashMap mutevole
use std::collections::HashMap;
fn main() {
let mut my_map = HashMap::new();
my_map.insert("a", 1);
my_map.insert("b", 3);
my_map["a"] += 10;
// my expected outputs is my_map becomes {"b": 3, "a": 11}
}
Aumenta il seguente errore:
error: cannot assign to immutable indexed content
--> src/main.rs:8:5
|
8 | my_map["a"] += 10;
| ^^^^^^^^^^^^^^^^^ cannot borrow as mutable
Io non capisco che cosa significa, da quando ho fatto il HashMap
mutabile. Quando provo ad aggiornare un elemento in un vector
, ottengo il risultato atteso:
let mut my_vec = vec!{1,2,3};
my_vec[0] += 10;
println!{"{:?}", my_vec};
// [11, 2, 3]
Qual è la differenza HashMap
che sto ottenendo l'errore di cui sopra? C'è un modo per aggiornare un valore?
Molto utile! Grazie. – Akavall
Si prevede che IndexMut sarà implementato in futuro? –
@LukeDupin dubbioso. Al suo posto sarebbe implementata l'ipotetica caratteristica 'IndexSet'. – Shepmaster