fold

From The K Language Wiki
(Redirected from Over)
Fold
f/y
x f/y

fold, also known as reduce, foldl and over, takes a dyadic function f and reduces an array y using it.

Fold is a very strong utility. For example, you can sum a list using +/.

 +/1 2 3 4
10
 ,/("ab";1;`d`a`b)
("a"
 "b"
 1
 `d
 `a
 `b)

Specifying a left argument x uses it as an initial value.

 3 +/1 2 3 4
13

When used with functions that take more than 2 arguments, fold can take multiple arguments, of which the first one is always the initial value.

{x,y,z}/["A";1 2 3;"BCD"]
("A";1;"B";2;"C";3;"D")