From e565866ba8ac6c077d81dbfdfa3217ec33ed5c16 Mon Sep 17 00:00:00 2001 From: Jan-Peter von Hunnius Date: Thu, 21 Nov 2024 10:44:43 +0100 Subject: [PATCH] Added counter for tracks the cars are best for in the non-detailed output --- src/main.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index d952f66..d115572 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,5 @@ use scraper::{Html, Selector}; -use std::collections::{HashMap, HashSet}; +use std::collections::{HashMap}; use std::env; use std::fs::read_to_string; use std::str::FromStr; @@ -148,7 +148,7 @@ async fn main() { let tracks = parse_tracks("tracks.txt"); - let mut keepers: HashSet = HashSet::new(); + let mut keepers: HashMap = HashMap::new(); for track in min_track..max_track + 1 { let track_name = match tracks.get(&track) { @@ -161,7 +161,7 @@ async fn main() { let best_car = get_best_car(track, track_name.clone(), level, detailed).await; if best_car.len() > 10 { // println!("Best Car under RQ {} for track {} ({}): {}", level, track, track_name, best_car); - keepers.insert(best_car); + keepers.entry(best_car).and_modify(|counter| { *counter += 1 } ).or_insert(1); } } } @@ -169,7 +169,10 @@ async fn main() { // println!("Keepers:"); for car in keepers { - println!("{}", car); + match detailed { + true => println!("{}", car.0), + false => println!("{} {}", car.0, car.1) + } } }