Array Lookup: Difference between revisions
From NARS2000
Jump to navigationJump to search
(Created page with "<table border="1" cellpadding="5" cellspacing="0" rules="none" summary=""> <tr> <td> <table border="0" cellpadding="5" cellspacing="0" summary=""> <tr> <td val...") |
No edit summary |
||
Line 19: | Line 19: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>For matrices, the result is equivalent to <apll>(⊂[2] L)⍳⊂[2] R</apll> which encapsulates a common idiom in one symbol.</td> | <td>For matrices, the result is equivalent to <apll>(⊂[2] L)⍳⊂[2] R</apll> (lookup the rows of one array in another) which encapsulates a common idiom in one symbol.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>For higher rank arrays, the arguments are enclosed to become vectors of subarrays and then the usual lookup produces the final result.</td> | <td>For higher rank arrays, the arguments are enclosed to become vectors of subarrays and then the usual lookup produces the final result.</td> | ||
</tr> | |||
<tr> | |||
<td>This function is sensitive to both <apll>⎕IO</apll> and <apll>⎕CT</apll>.</td> | |||
</tr> | </tr> | ||
</table> | </table> | ||
Line 41: | Line 44: | ||
L⍸R<br /> | L⍸R<br /> | ||
4 7 5</apll> | 4 7 5</apll> | ||
<p>This function was suggested by the language designers of Dyalog APL.</p> |
Revision as of 10:23, 26 May 2013
|
||||
L and R are arbitrary arrays. | ||||
Z is an integer vector of length 1↑⍴R. | ||||
For matrices, the result is equivalent to (⊂[2] L)⍳⊂[2] R (lookup the rows of one array in another) which encapsulates a common idiom in one symbol. | ||||
For higher rank arrays, the arguments are enclosed to become vectors of subarrays and then the usual lookup produces the final result. | ||||
This function is sensitive to both ⎕IO and ⎕CT. |
For example, in origin-1
⎕←L←6 4⍴'DinaDickJohnJaneSue Mary'
Dina
Dick
John
Jane
Sue
Mary
⎕←R←3 4⍴'JaneBob Sue '
Jane
Bob
Sue
L⍸R
4 7 5
This function was suggested by the language designers of Dyalog APL.