Перебор карты в Rust
Цикл идет по парам: на каждом круге первое
имя получает ключ, второе получает значение.
Пишут for, скобки с двумя именами
через запятую, затем ссылку на карту.
Порядок пар не обещан.
Напечатаем ключи и числа для карты возрастов:
use std::collections::HashMap;
fn main() {
let mut ages = HashMap::new();
ages.insert("ann", 20);
ages.insert("bob", 30);
for (name, age) in &ages {
println!("{} {}", name, age);
}
}
На экране две строки с парой строка и число. Можно использовать оба имени или только одно, если второе не нужно.
Пустую карту цикл проходит ноль раз:
use std::collections::HashMap;
fn main() {
let empty = HashMap::new();
for (k, v) in &empty {
println!("{} {}", k, v);
}
println!("done");
}
Дана следующая карта:
let mut pair = HashMap::new();
pair.insert("a", 1);
pair.insert("b", 2);
Переберите pair и выведите только
значения, по одному на строку.
Дана следующая карта:
let mut trio = HashMap::new();
trio.insert("a", 1);
trio.insert("b", 2);
trio.insert("c", 3);
На каждом круге печатайте ключ и значение одной командой вывода.
Дана следующая карта:
let empty = HashMap::new();
Обойдите empty циклом и скажите,
сколько строк с парами выведется.