-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Description
I noticed that the example comparing imperative vs functional approaches uses fold vs sum.
One can argue that fold is classically thought of as functional, but I think that the objective of the example is the functional flavor, thus sum would be more appropriate.
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
.fold(0, |acc, n_squared| acc + n_squared); // Sum themvs
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