Iterator Pipeline
10 points
Implement total_revenue, which sums the amount of every non-refunded order. Write it as a single lazy chain rather than a manual for loop with an accumulator variable.
Required signature
pub struct Order { pub amount: f64, pub refunded: bool, } pub fn total_revenue(orders: &[Order]) -> f64;
Visible tests
-
sums_non_refunded#[test] fn sums_non_refunded() { let orders = vec![ Order { amount: 100.0, refunded: false }, Order { amount: 50.0, refunded: true }, Order { amount: 25.0, refunded: false }, ]; assert_eq!(total_revenue(&orders), 125.0); }
Your solution
Log in to submit a solution.