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

Цикл и условие в Rust

Внутри цикла по карте можно выполнять команду только для части пар. Тело for крутится для каждой пары, а ветка if внутри решает, печатать ли ключ или пропустить шаг.

Выведем только тех, у кого возраст не меньше 25:

use std::collections::HashMap; fn main() { let mut ages = HashMap::new(); ages.insert("ann", 20); ages.insert("bob", 30); ages.insert("cy", 25); for (name, age) in &ages { if age >= 25 { println!("{} {}", name, age); } } }

На экране строки для "bob" и "cy". "ann" проверку не проходит и не печатается.

Условие может смотреть на ключ:

use std::collections::HashMap; fn main() { let mut labels = HashMap::new(); labels.insert("go", 1); labels.insert("java", 2); labels.insert("book", 3); for (k, v) in &labels { if k == "go" { println!("{}", v); } } }

Дана следующая карта:

let mut data = HashMap::new(); data.insert("a", 1); data.insert("b", 4); data.insert("c", 7);

Обойдите data и выведите ключи, где значение больше 2.

Дана следующая карта:

let mut room = HashMap::new(); room.insert("a", 3); room.insert("b", 4); room.insert("c", 5);

Печатайте "hit" только для значений, которые делятся на 2 без остатка.

Дана следующая карта:

let mut pack = HashMap::new(); pack.insert("a", 1); pack.insert("ab", 2); pack.insert("abc", 3);

Выведите только ключи, длина которых больше одного символа, через условие в цикле.

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