4,494
edits
(Created page with "{{Built-in|Scan|<nowiki>\</nowiki>}} is a monadic operator which takes a dyadic functions and produce a monadic function (<source lang=apl inline>\</source>). ==...") |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Built- | {{Built-ins|Scan|<nowiki>\</nowiki>|⍀}} is a [[primitive operator|primitive]] [[monadic operator]] which takes a [[dyadic function]] [[operand]] and produces a [[monadic function]] which is equivalent to the [[reduce|reductions]] of the [[prefix]]es of the arguments. This operation is known as also known as cumulative reduction. | ||
== Explanation == | == Explanation == | ||
Scan is similar to Reduce, however all the intermediate results will be retained. That being said, unlike [[Reduce]], [[Scan]] does not reduce the [[rank]] of its argument, i.e. performing a scan over an N-dimensional [[array]] will produce an N-dimensional array. | |||
== Examples == | == Examples == | ||
< | <syntaxhighlight lang=apl> | ||
+\⍳5 ⍝ plus-scan over range of | +\⍳5 ⍝ plus-scan over range of integers from 1 to 5 | ||
1 3 6 10 15 | 1 3 6 10 15 | ||
</ | </syntaxhighlight> | ||
== Applications == | == Applications == | ||
Removing disconnected trailing 1s from a [[boolean | Removing disconnected trailing 1s from a [[boolean]] mask: | ||
< | <syntaxhighlight lang=apl> | ||
mask←1 1 1 1 0 1 1 0 0 1 | mask←1 1 1 1 0 1 1 0 0 1 | ||
mask | mask | ||
Line 18: | Line 18: | ||
∧\mask ⍝ and-scan mask | ∧\mask ⍝ and-scan mask | ||
1 1 1 1 0 0 0 0 0 0 | 1 1 1 1 0 0 0 0 0 0 | ||
</ | </syntaxhighlight> | ||
{{APL built-ins}}[[Category:Primitive | == External links == | ||
=== Lessons === | |||
* [https://chat.stackexchange.com/rooms/52405/conversation/lesson-3-some-apl-operators-----#40898948 APL Cultivation] | |||
=== Documentation === | |||
* [https://help.dyalog.com/latest/#Language/Primitive%20Operators/Scan.htm Dyalog] | |||
* [https://microapl.com/apl_help/ch_020_020_820.htm APL] | |||
* [https://mlochbaum.github.io/BQN/doc/scan.html BQN] | |||
{{APL built-ins}}[[Category:Primitive operators]] |