Curry a function handle - MATLAB Cody - MATLAB Central

Problem 54224. Curry a function handle

Difficulty:Rate
From Wikipedia, Currying:
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:
becomes
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

40.0% Correct | 60.0% Incorrect
Last Solution submitted on Mar 07, 2025

Problem Comments

Solution Comments

Show comments
Who Deserves Your Praise? Discover the New Contribution Widget!
...
We are excited to announce another update to our Discussions area: the...

Problem Recent Solvers7

Suggested Problems

Problem Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Go to top of page