I subscribe to a newsletter that has a coding challenge every week.
I did this week's in #Rust, but I'm sure there are many ways to make it more compact/better....
help welcome! How do I use map to sum over a Vector of structs?
@schlink You may need to use .fold() instead of .map()
> How do I use map to sum over a Vector of structs?
You could fold:
Or you could map and sum:
@schlink i'd have used that:
let slices_needed: usize = persons.iter().map(|p| p.slices_requested).sum();
with map to get the number we need, and sum to concisely sum them.
fold could work too but i find it more verbose and less elegant
> I’m curious if there’s a more concise way to go from slices_needed to pizzas_needed
(slices_needed + slices_per_pizza - 1) / slices_per_pizza
If you were doing it a lot, you could define div_upwards on integers like so:
(I based the implementation on the definition of integer division from rusts core: https://doc.rust-lang.org/src/core/ops/arith.rs.html#422-450 )
@schlink heeeeey, so you're back, learning things about Rust! Ping me anytime, and how's async going?
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!