Fold: Difference between revisions
Content added Content deleted
(add variadic generalization(JohnE)) |
("More lowercasing") |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1:
{{primitive|f/y<br>x f/y}}
'''
Fold is a very strong utility. For example, you can sum a list using <code>+/</code>.
Line 30:
("A";1;"B";2;"C";3;"D")
</pre>
[[Category:Adverbs]]
[[Category:Primitives]]
|
Latest revision as of 04:42, 9 July 2022
Fold
f/y
x 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")