4,493
edits
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
Both arguments can be arrays of any [[shape]]. Each element of the left argument is tested against elements of the right argument, and the result is a [[boolean]] array having the same shape as the left argument. | Both arguments can be arrays of any [[shape]]. Each element of the left argument is tested against elements of the right argument, and the result is a [[boolean]] array having the same shape as the left argument. | ||
< | <syntaxhighlight lang=apl> | ||
'THIS NOUN'∊'THAT WORD' | 'THIS NOUN'∊'THAT WORD' | ||
1 1 0 0 1 0 1 0 0 | 1 1 0 0 1 0 1 0 0 | ||
Line 14: | Line 14: | ||
0 0 1 | 0 0 1 | ||
0 0 1 | 0 0 1 | ||
</ | </syntaxhighlight> | ||
For [[nested array|nested arrays]], Membership tests for exact [[match]] between the elements. | For [[nested array|nested arrays]], Membership tests for exact [[match]] between the elements. | ||
< | <syntaxhighlight lang=apl> | ||
'CAT' 'DOG' 'MOUSE' ∊ 'CAT' 'FOX' 'DOG' 'LLAMA' | 'CAT' 'DOG' 'MOUSE' ∊ 'CAT' 'FOX' 'DOG' 'LLAMA' | ||
1 1 0 | 1 1 0 | ||
</ | </syntaxhighlight> | ||
=== Leading axis model === | === Leading axis model === | ||
The behavior of Membership was changed to follow [[leading axis model]] in some implementations such as [[J]] (spelled < | The behavior of Membership was changed to follow [[leading axis model]] in some implementations such as [[J]] (spelled <syntaxhighlight lang=j inline>e.</syntaxhighlight>). In this case, if the right argument is a higher-[[rank]] array, the [[cell|cells]] of the left argument with appropriate rank are compared against the [[major cell|major cells]] of the right argument. | ||
< | <syntaxhighlight lang=j> | ||
]mat=.>'able';'acre';'idle' | ]mat=.>'able';'acre';'idle' | ||
able | able | ||
Line 42: | Line 42: | ||
1 1 1 | 1 1 1 | ||
1 1 1 | 1 1 1 | ||
</ | </syntaxhighlight> | ||
In other dialects, a leading axis membership function can be defined as: | In other dialects, a leading axis membership function can be defined as: | ||
< | <syntaxhighlight lang=apl> | ||
Membership←{(≢⍵)≥⍵⍳⍺} | Membership←{(≢⍵)≥⍵⍳⍺} | ||
⎕←mat←3 4⍴'ableacreidle' | ⎕←mat←3 4⍴'ableacreidle' | ||
Line 52: | Line 52: | ||
'able' Membership mat | 'able' Membership mat | ||
1 | 1 | ||
</ | </syntaxhighlight>{{Works in|[[Dyalog APL]], [[NARS2000]], [[dzaima/APL]], [[Extended Dyalog APL]], [[GNU APL]]}} | ||
== See also == | == See also == | ||
Line 66: | Line 66: | ||
* [http://microapl.com/apl_help/ch_020_020_380.htm APLX] | * [http://microapl.com/apl_help/ch_020_020_380.htm APLX] | ||
* J [https://www.jsoftware.com/help/dictionary/dedot.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/edot#dyadic NuVoc] | * J [https://www.jsoftware.com/help/dictionary/dedot.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/edot#dyadic NuVoc] | ||
* [https://mlochbaum.github.io/BQN/doc/search.html#member-of BQN] | |||
{{APL built-ins}}[[Category:Primitive functions]] | {{APL built-ins}}[[Category:Primitive functions]] |