Array Lookup
From NARS2000
Jump to navigationJump to search
|
||||
| L and R are arbitrary arrays. | ||||
| Z is an array of rank 0⌈1+(⍴⍴R)-⍴⍴L and shape (1-⍴⍴L)↓⍴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.