rslt ← (fun ##.rows) {array} ⍝ Operand function applied to argument rows.
Many functions expect a simple vector or scalar, such as a "name", as argument.
This operator accepts any rank or depth array and applies its function operand
to each simple vector or scalar therein.
NB: much of the utility of this operator is now superseded by the primitive rank
operator ⍤.
Examples:
isdfn rows 'a'⎕nl 3 ⍝ Fn applied to each row of matrix.
1 1 1
{'<',⍵,'>'} rows 'ten' 'a' 'penny' ⍝ Scalars are OK, too.
<ten> <a> <penny>
mats ⍝ A vector of matrices.
┌─────┬──────┬───────┐
│eight│hovera│hickory│
│nine │dovera│dickory│
│ten │dik │dock │
└─────┴──────┴───────┘
{⍴⍵~' '} rows mats ⍝ Fn applied to each matrix row.
┌─┬─┬─┐
│5│6│7│
│4│6│7│
│3│3│4│
└─┴─┴─┘
{+/⍵≠' '} rows mats ⍝ Rows collapse to scalars.
┌─────┬─────┬─────┐
│5 4 3│6 6 3│7 7 4│
└─────┴─────┴─────┘
{⍵[⍋⍵]} rows mats ⍝ Sort each row.
┌─────┬──────┬───────┐
│eghit│aehorv│chikory│
│ einn│adeorv│cdikory│
│ ent│ dik│ cdko│
└─────┴──────┴───────┘
display rows mats ⍝ Display each row.
┌→────┐ ┌→─────┐ ┌→──────┐
│eight│ │hovera│ │hickory│
└─────┘ └──────┘ └───────┘
┌→────┐ ┌→─────┐ ┌→──────┐
│nine │ │dovera│ │dickory│
└─────┘ └──────┘ └───────┘
┌→────┐ ┌→─────┐ ┌→──────┐
│ten │ │dik │ │dock │
└─────┘ └──────┘ └───────┘
cuboid ⍝ Numeric 3×4×5-array.
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
41 42 43 44 45
46 47 48 49 50
51 52 53 54 55
56 57 58 59 60
{+/⍵÷⍴⍵} rows cuboid ⍝ Row-averages.
3 8 13 18
23 28 33 38
43 48 53 58
See also: saw perv Depth
Back to: contents
Back to: Workspaces