diff options
Diffstat (limited to 'rustlings/exercises/18_iterators/iterators5.rs')
| -rw-r--r-- | rustlings/exercises/18_iterators/iterators5.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rustlings/exercises/18_iterators/iterators5.rs b/rustlings/exercises/18_iterators/iterators5.rs index 7e434cc..74f1c74 100644 --- a/rustlings/exercises/18_iterators/iterators5.rs +++ b/rustlings/exercises/18_iterators/iterators5.rs @@ -26,6 +26,7 @@ fn count_for(map: &HashMap<String, Progress>, value: Progress) -> usize { // TODO: Implement the functionality of `count_for` but with an iterator instead // of a `for` loop. fn count_iterator(map: &HashMap<String, Progress>, value: Progress) -> usize { + map.values().filter(|&&x| x == value).count() // `map` is a hash map with `String` keys and `Progress` values. // map = { "variables1": Complete, "from_str": None, … } } @@ -45,6 +46,7 @@ fn count_collection_for(collection: &[HashMap<String, Progress>], value: Progres // TODO: Implement the functionality of `count_collection_for` but with an // iterator instead of a `for` loop. fn count_collection_iterator(collection: &[HashMap<String, Progress>], value: Progress) -> usize { + collection.iter().map(|m| count_iterator(m, value)).sum() // `collection` is a slice of hash maps. // collection = [{ "variables1": Complete, "from_str": None, … }, // { "variables2": Complete, … }, … ] |