In mathematics and computer science, currying is the technique of converting a function that takes multiple arguments into a sequence of functions that each takes a single argument. For example, currying a function f that takes three arguments creates three functions:
or called in sequence:
(note that this syntax is not supported in MATLAB (sadly!), though it is in GNU Octave)
Given f, a function handle, and n, the number of input arguments to later be passed into f, create a function handle g that is a curried form of f. Similar to the above example:
> curriedMax = currify(@max,3);
> curriedMax(magic(5)); ans([]); ans('all')
ans =
25
> curriedMax(magic(3))([])('all') %only works in Octave
Both of these are equivalent to
> max(magic(5),[],'all')
Solution Stats
Problem Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers9
Suggested Problems
-
1750 Solvers
-
middleAsColumn: Return all but first and last element as a column vector
654 Solvers
-
We love vectorized solutions. Problem 1 : remove the row average.
897 Solvers
-
ベクトル [1 2 3 4 5 6 7 8 9 10] の作成
605 Solvers
-
Find out sum and carry of Binary adder
1844 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!