Scan: Difference between revisions
Content added Content deleted
(add scan page) |
("Add category") |
||
Line 28: | Line 28: | ||
("A";1;"B";2;"C";3;"D")) |
("A";1;"B";2;"C";3;"D")) |
||
</pre> |
</pre> |
||
[[Category:Adverbs]] |
Revision as of 02:43, 9 July 2022
Scan
f\y
x f\y
x f\y
Scan, also known as cumulative reduce or scanl takes a dyadic function f
and reduces an array y
using it, while providing an array of intermediate values.
Scan works very similarly to fold.
+\1 2 3 4 5 1 3 6 10 15 ,\("ab";1;`d`a`b) ("ab" ("a";"b";1) ("a";"b";1;`d;`a;`b))
Specifying a left argument x
uses it as an initial value.
3 +\1 2 3 4 4 6 9 13
When used with functions that take more than 2 arguments, scan 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") ("A";1;"B";2;"C") ("A";1;"B";2;"C";3;"D"))