You've already forked book-exercises
finish hash maps
This commit is contained in:
@@ -39,42 +39,18 @@ fn main() {
|
|||||||
println!("\nDEBUG: updating their values...");
|
println!("\nDEBUG: updating their values...");
|
||||||
println!("\tvalues before updating:\n\t{runners:?}");
|
println!("\tvalues before updating:\n\t{runners:?}");
|
||||||
|
|
||||||
// can be improved using hash maps
|
// updating values using another hash map
|
||||||
let val = vec![4, 10, 8, 9];
|
let mut new_values = HashMap::new();
|
||||||
let names = ["Jill", "Jack", "Jane", "Joe"];
|
|
||||||
|
|
||||||
let mut count = 0;
|
new_values.entry(jane.clone()).or_insert(8);
|
||||||
|
new_values.entry(jill.clone()).or_insert(4);
|
||||||
|
new_values.entry(jack.clone()).or_insert(10);
|
||||||
|
new_values.entry(joe.clone()).or_insert(9);
|
||||||
|
|
||||||
for n in names {
|
for (key, val) in new_values.iter() {
|
||||||
let tmp = n.to_string();
|
let updater = runners.entry(key.clone()).or_insert(0);
|
||||||
let updater = runners.entry(tmp.clone()).or_insert(0);
|
*updater = (*updater + val) / 2;
|
||||||
*updater += val[count];
|
|
||||||
*updater /= 2;
|
|
||||||
count += 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("\n\tvalues after updating:\n\t{runners:?}");
|
println!("\n\tvalues after updating:\n\t{runners:?}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* figuring out how to update values
|
|
||||||
|
|
||||||
println!("Jill's average before: {:?}", runners.get(&jill).unwrap());
|
|
||||||
|
|
||||||
let curr_value = runners.get(&jill).unwrap();
|
|
||||||
println!("\t{curr_value}");
|
|
||||||
|
|
||||||
let new_value = 4;
|
|
||||||
println!("\t{new_value}");
|
|
||||||
|
|
||||||
let final_value = (curr_value + new_value) / 2;
|
|
||||||
println!("\t{final_value}");
|
|
||||||
|
|
||||||
runners.insert(jill.clone(), final_value);
|
|
||||||
|
|
||||||
let updater = runners.entry(jill.clone()).or_insert(0);
|
|
||||||
*updater += new_value;
|
|
||||||
*updater /= 2;
|
|
||||||
|
|
||||||
println!("Jill's average after: {:?}", runners.get(&jill).unwrap());
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|||||||
Reference in New Issue
Block a user