4,506
edits
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Built-in|Without|~}}, '''Excluding''', or '''Less''', is a [[dyadic]] [[set function]] which computes the [[wikipedia:set difference|set difference]] of the two [[vector]] [[argument|arguments]]. It shares the [[glyph]] < | {{Built-in|Without|~}}, '''Set Difference''', '''Excluding''', or '''Less''', is a [[dyadic]] [[set function]] which computes the [[wikipedia:set difference|set difference]] of the two [[vector]] [[argument|arguments]]. It shares the [[glyph]] <syntaxhighlight lang=apl inline>~</syntaxhighlight> with the monadic function [[Not]]. | ||
== Examples == | == Examples == | ||
Both arguments of Without is usually restricted to [[vector|vectors]]. Unlike sets in the mathematical sense, duplicate elements are allowed in both sides, and Without is usually implemented as "left argument filtered by the absence in the right argument" < | Both arguments of Without is usually restricted to [[vector|vectors]]. Unlike sets in the mathematical sense, duplicate elements are allowed in both sides, and Without is usually implemented as "left argument filtered by the absence in the right argument" <syntaxhighlight lang=apl inline>(~X∊Y)/X</syntaxhighlight>. This preserves the order and multiplicity in the left argument. Both arguments can be [[nested array|nested arrays]]. | ||
< | <syntaxhighlight lang=apl> | ||
'HELLO'~'GOODBYE' | 'HELLO'~'GOODBYE' | ||
HLL | HLL | ||
Line 13: | Line 13: | ||
│THIS│THAT│ | │THIS│THAT│ | ||
└────┴────┘ | └────┴────┘ | ||
</ | </syntaxhighlight> | ||
== Extension == | == Extension == | ||
Some dialects allow Without to work on [[major cell]]s: | Some dialects allow Without to work on [[major cell]]s: | ||
[https://tio.run/##SyzI0U2pTMzJT9dNrShJzUtJTfn/P@JR2wQTBaNHvVvUHR2dnJyBQJ0rEihojBB0dFTnetQ3FSgYURf5/z8A Try it online!]< | [https://tio.run/##SyzI0U2pTMzJT9dNrShJzUtJTfn/P@JR2wQTBaNHvVvUHR2dnJyBQJ0rEihojBB0dFTnetQ3FSgYURf5/z8A Try it online!]<syntaxhighlight lang=apl> | ||
X←4 2⍴'AABBCCCC' | X←4 2⍴'AABBCCCC' | ||
Y←3 2⍴'AABBAA' | Y←3 2⍴'AABBAA' | ||
Line 23: | Line 23: | ||
CC | CC | ||
CC | CC | ||
</ | </syntaxhighlight>{{Works in|[[Extended Dyalog APL]]}} | ||
Others can easily define such a function: | Others can easily define such a function: | ||
[https://tio.run/##SyzI0U2pTMzJT///P@JR2wQTBaNHvVvUHR2dnJyBQJ0rEihojBB0dFTnCs8sycgvLQFKVD/q3fWoZ/@j3hV1Go96Nz/qXAQU0HzU0QUSB/J7t9ZyPeqbClQZoQDVpRD5/z8A Try it online!]< | [https://tio.run/##SyzI0U2pTMzJT///P@JR2wQTBaNHvVvUHR2dnJyBQJ0rEihojBB0dFTnCs8sycgvLQFKVD/q3fWoZ/@j3hV1Go96Nz/qXAQU0HzU0QUSB/J7t9ZyPeqbClQZoQDVpRD5/z8A Try it online!]<syntaxhighlight lang=apl> | ||
X←4 2⍴'AABBCCCC' | X←4 2⍴'AABBCCCC' | ||
Y←3 2⍴'AABBAA' | Y←3 2⍴'AABBAA' | ||
Line 32: | Line 32: | ||
CC | CC | ||
CC | CC | ||
</ | </syntaxhighlight>{{Works in|[[Dyalog APL]]}} | ||
== External Links == | == External Links == | ||
=== Documentation === | === Documentation === | ||
* [ | * [https://help.dyalog.com/latest/#Language/Primitive%20Functions/Excluding.htm#Excluding Dyalog] | ||
* [http://microapl.com/apl_help/ch_020_020_410.htm APLX] | * [http://microapl.com/apl_help/ch_020_020_410.htm APLX] | ||
* J [https://www.jsoftware.com/help/dictionary/d121.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/minusdot#dyadic NuVoc] | * J [https://www.jsoftware.com/help/dictionary/d121.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/minusdot#dyadic NuVoc] | ||
{{APL built-ins}}[[Category:Primitive functions]][[Category:Set functions]] | {{APL built-ins}}[[Category:Primitive functions]][[Category:Set functions]] |