Without: Difference between revisions

Jump to navigation Jump to search
45 bytes added ,  10:58, 11 September 2022
m
Text replacement - "<source" to "<syntaxhighlight"
m (Text replacement - "</source>" to "</syntaxhighlight>")
m (Text replacement - "<source" to "<syntaxhighlight")
 
Line 1: Line 1:
{{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]] <source lang=apl inline>~</syntaxhighlight> with the monadic function [[Not]].
{{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" <source 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]].
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]].


<source lang=apl>
<syntaxhighlight lang=apl>
       'HELLO'~'GOODBYE'
       'HELLO'~'GOODBYE'
HLL
HLL
Line 17: Line 17:
== 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!]<source lang=apl>
[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 25: Line 25:
</syntaxhighlight>{{Works in|[[Extended Dyalog APL]]}}
</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!]<source lang=apl>
[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'

Navigation menu