Многомерные карты в Rust
Значением пары карты может быть другая
карта. Тип записывают как
HashMap<&str, HashMap<&str, i32>>.
Внешний ключ выбирает внутреннюю карту,
внутренний ключ - число в ней.
Прочитаем значение двумя ключами подряд. Тип карты подключают в начале файла:
use std::collections::HashMap;
fn main() {
let map: HashMap<&str, HashMap<&str, i32>> = HashMap::from([
("a", HashMap::from([("x", 1), ("y", 2)])),
("b", HashMap::from([("x", 3), ("y", 4)])),
]);
println!("{}", map["a"]["y"]); // выведет 2
println!("{}", map["b"]["x"]); // выведет 3
}
Создайте карту карт. По ключу
"red" лежит пара "r" и
1, по ключу "blue" лежит
пара "b" и 2. Выведите
число по ключам "blue" и "b".
Создайте карту из трех уровней.
Внешний ключ "group", внутри него
ключ "user", внутри него пара
"age" и 20. Выведите это
число.