diff --git a/src/fn/hof.md b/src/fn/hof.md index 9be5b41fec..705881593a 100644 --- a/src/fn/hof.md +++ b/src/fn/hof.md @@ -26,18 +26,17 @@ fn main() { break; } else if is_odd(n_squared) { // Accumulate value, if it's odd - acc += n_squared; + acc += n; } } println!("imperative style: {}", acc); // Functional approach - let sum_of_squared_odd_numbers: u32 = - (0..).map(|n| n * n) // All natural numbers squared - .take_while(|&n_squared| n_squared < upper) // Below upper limit - .filter(|&n_squared| is_odd(n_squared)) // That are odd - .sum(); // Sum them - println!("functional style: {}", sum_of_squared_odd_numbers); + let sum: u32 = + (0..).take_while(|&n| n * n < upper) // Below upper limit + .filter(|&n| is_odd(n * n)) // That are odd + .sum(); // Sum them + println!("functional style: {}", sum); } ```