Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmMuMI 215 of 373 menu
◀ ▶

Цикл по многомерным картам в Rust

Карту карт обходят двумя циклами. Внешний дает очередную внутреннюю карту, внутренний - ее пары. Числа из пар складывают, начиная с нуля. Порядок пар не обещан, сумма от него не зависит:

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)])), ]); let mut sum = 0; for (_, inner) in &map { for (_, val) in inner { println!("{}", val); sum += val; } } println!("{}", sum); // выведет 10 }

Дана карта карт:

let map: HashMap<&str, HashMap<&str, i32>> = HashMap::from([ ("a", HashMap::from([("x", 10), ("y", 20)])), ("b", HashMap::from([("x", 30), ("y", 40)])), ]);

Найдите сумму всех чисел и выведите ее.

Дана карта из трех уровней:

let map: HashMap<&str, HashMap<&str, HashMap<&str, i32>>> = HashMap::from([( "g", HashMap::from([("u", HashMap::from([("age", 20), ("year", 2000)]))]), )]);

Найдите сумму всех чисел и выведите ее.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить