Power Query M code
let
MakeMultiplier = (factor as number) as function =>
(value as number) as number => value * factor,
Double = MakeMultiplier(2),
Result = Double(21)
in
Result
Creates a function that, given one argument, returns a new specialized function - a pattern known as currying.
let
MakeMultiplier = (factor as number) as function =>
(value as number) as number => value * factor,
Double = MakeMultiplier(2),
Result = Double(21)
in
Result
MakeMultiplier(2) returns a ready-made "multiply by 2" function that you can reuse or pass around like any other value.
Browse all 145 snippets in the Power Query M Code Snippets, or search the library for something similar to Build a Function That Returns Another Function.