Oto co próbuję zrobić:wartość Update w zmienny HashMap
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}
}
Podnosi się następujący błąd:
error: cannot assign to immutable indexed content
--> src/main.rs:8:5
|
8 | my_map["a"] += 10;
| ^^^^^^^^^^^^^^^^^ cannot borrow as mutable
I naprawdę nie rozumiem, co to znaczy, bo uczynił HashMap
zmienne. Kiedy próbuję aktualizować element w vector
, uzyskać oczekiwany wynik:
let mut my_vec = vec!{1,2,3};
my_vec[0] += 10;
println!{"{:?}", my_vec};
// [11, 2, 3]
Jaka jest różnica HashMap
że jestem coraz powyższy błąd? Czy istnieje sposób na aktualizację wartości?
Bardzo pomocne! Dziękuję Ci. – Akavall
Czy IndexMut ma zostać wdrożony w przyszłości? –
@ Wątpliwe, czy jest to gra. W jego miejsce zaimplementowano hipotetyczną cechę "IndexSet". – Shepmaster