Pick: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "http://help.dyalog.com" to "https://help.dyalog.com") |
m (→Examples) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Examples == | == Examples == | ||
The left [[argument]] X must be a [[vector]] where each element of X specifies the multi-dimensional [[index]] at each layer of the right argument Y. The result of < | The left [[argument]] X must be a [[scalar]] or [[vector]] where each element of X specifies the multi-dimensional [[index]] at each layer of the right argument Y. The result of <syntaxhighlight lang=apl inline>X⊃Y</syntaxhighlight> is the item of Y at the location specified by X. | ||
< | <syntaxhighlight lang=apl> | ||
⎕←G←2 3⍴('ABC' 1)('DEF' 2)('GHI' 3)('JKL' 4)('MNO' 5)('PQR' 6) | ⎕←G←2 3⍴('ABC' 1)('DEF' 2)('GHI' 3)('JKL' 4)('MNO' 5)('PQR' 6) | ||
┌───────┬───────┬───────┐ | ┌───────┬───────┬───────┐ | ||
Line 24: | Line 24: | ||
((2 1)1 2)⊃G | ((2 1)1 2)⊃G | ||
K | K | ||
</ | </syntaxhighlight> | ||
== See also == | == See also == |
Latest revision as of 15:20, 8 November 2022
⊃
|
Pick (⊃
) is a dyadic primitive function which performs deep indexing on a possibly nested array. Pick allows to extract a value through multiple layers of nesting in a single function application. Pick uses the Right Shoe glyph.
Examples
The left argument X must be a scalar or vector where each element of X specifies the multi-dimensional index at each layer of the right argument Y. The result of X⊃Y
is the item of Y at the location specified by X.
⎕←G←2 3⍴('ABC' 1)('DEF' 2)('GHI' 3)('JKL' 4)('MNO' 5)('PQR' 6) ┌───────┬───────┬───────┐ │┌───┬─┐│┌───┬─┐│┌───┬─┐│ ││ABC│1│││DEF│2│││GHI│3││ │└───┴─┘│└───┴─┘│└───┴─┘│ ├───────┼───────┼───────┤ │┌───┬─┐│┌───┬─┐│┌───┬─┐│ ││JKL│4│││MNO│5│││PQR│6││ │└───┴─┘│└───┴─┘│└───┴─┘│ └───────┴───────┴───────┘ (⊂2 1)⊃G ┌───┬─┐ │JKL│4│ └───┴─┘ ((2 1)1)⊃G JKL ((2 1)1 2)⊃G K
See also
External links
Documentation