Core Intermediate
09 Closures
A closure is a small anonymous function that can capture variables from its surroundings. Return one from a function, then accept one as an argument -- the two shapes iterator chains are built from.
Make make_adder return a closure that adds n to its argument.
Hints
- Closure syntax:
|x| x + n-- arguments between pipes, body after. - The closure outlives
make_adder, so it must ownn: writemove |x| x + n.
Reveal solution
fn make_adder(n: i32) -> impl Fn(i32) -> i32 {
move |x| x + n
}