Mimic foldl in functional programming - MATLAB Cody - MATLAB Central

Problem 201. Mimic foldl in functional programming

  • Created by S L
Difficulty:Rate

Mimic the higher-order function foldl ( Wikipedia:Fold (higher-order function) ).

Arguments are a function with two arguments, start value, and a list. It takes the start value and the first item in the list and then applies the function to them, then feeds the function with this result and the second item in the list, and so on.

    foldl(f, start, [x1, x2, ..., xn]) == f( (...f(f(f(s, x1), x2), x3), ...) , xn)
    foldl(@plus, 0, 1:10) == ( ... (((0 + 1) + 2) + 3) + ... + 10) == 55

If the list is missing, it have to return the function handle which takes list. If both the start value and the list are missing, it have to return the function handle which takes two arguments, start value and list.

    sumplusfive = foldl(@plus, 5);
    => sumplusfive(1:10) == 60
    concat = foldl(@(x_, y_) [x_ y_]);
    => concat([1 2 3], [4 5 6]) == [1 2 3 4 5 6]

Solution Stats

47.06% Correct | 52.94% Incorrect
Last Solution submitted on May 13, 2025

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers33

Suggested Problems

More from this Author1

Community Treasure Hunt

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

Start Hunting!