Classic Edition: the symbol ⊆ (Left Shoe Underbar) is not available in Classic Edition, and Partition is instead represented by ⎕U2286.
Y may be any non-scalar array.
X must be a simple scalar or vector of non-negative integers.
The axis specification is optional. If present, it must be a simple integer scalar or one element array representing an axis of Y. If absent, the last axis is implied.
R is an array of the elements of Y partitioned according to X.
A new partition is started in the result whenever the corresponding element in X is greater than the previous one. Items in Y corresponding to 0s in X are not included in the result.
Note that if ⎕ML≥3, the symbol ⊂ means the same as ⊆.
Examples
⎕ML←3
]display 1 1 1 2 2 3 3 3⊆'NOWISTHE'
┌→─────────────────┐
│ ┌→──┐ ┌→─┐ ┌→──┐ │
│ │NOW│ │IS│ │THE│ │
│ └───┘ └──┘ └───┘ │
└∊─────────────────┘
]display 1 1 1 0 0 3 3 3⊆'NOWISTHE'
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │NOW│ │THE│ │
│ └───┘ └───┘ │
└∊────────────┘
TEXT←' NOW IS THE TIME '
]display (' '≠TEXT)⊆TEXT
┌→────────────────────────┐
│ ┌→──┐ ┌→─┐ ┌→──┐ ┌→───┐ │
│ │NOW│ │IS│ │THE│ │TIME│ │
│ └───┘ └──┘ └───┘ └────┘ │
└∊────────────────────────┘
]display CMAT←⎕FMT(' ',ROWS),COLS⍪NMAT
┌→─────────────────────────┐
↓ Jan Feb Mar │
│ Cakes 0 100 150 │
│ Biscuits 0 0 350 │
│ Buns 0 1000 500 │
└──────────────────────────┘
]display (∨⌿' '≠CMAT)⊆CMAT ⍝ Split at blank cols. ┌→──────────────────────────────┐ ↓ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │ │ │Jan│ │ Feb│ │Mar│ │ │ └────────┘ └───┘ └────┘ └───┘ │ │ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │Cakes │ │ 0│ │ 100│ │150│ │ │ └────────┘ └───┘ └────┘ └───┘ │ │ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │Biscuits│ │ 0│ │ 0│ │350│ │ │ └────────┘ └───┘ └────┘ └───┘ │ │ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │Buns │ │ 0│ │1000│ │500│ │ │ └────────┘ └───┘ └────┘ └───┘ │ └∊──────────────────────────────┘ ]display N←4 4⍴⍳16 ┌→──────────┐ ↓ 1 2 3 4│ │ 5 6 7 8│ │ 9 10 11 12│ │13 14 15 16│ └~──────────┘ ]display 1 1 0 1⊆N ┌→─────────────┐ ↓ ┌→──┐ ┌→┐ │ │ │1 2│ │4│ │ │ └~──┘ └~┘ │ │ ┌→──┐ ┌→┐ │ │ │5 6│ │8│ │ │ └~──┘ └~┘ │ │ ┌→───┐ ┌→─┐ │ │ │9 10│ │12│ │ │ └~───┘ └~─┘ │ │ ┌→────┐ ┌→─┐ │ │ │13 14│ │16│ │ │ └~────┘ └~─┘ │ └∊─────────────┘
]display 1 1 0 1⊆[1]N ┌→────────────────────────┐ ↓ ┌→──┐ ┌→──┐ ┌→──┐ ┌→──┐ │ │ │1 5│ │2 6│ │3 7│ │4 8│ │ │ └~──┘ └~──┘ └~──┘ └~──┘ │ │ ┌→─┐ ┌→─┐ ┌→─┐ ┌→─┐ │ │ │13│ │14│ │15│ │16│ │ │ └~─┘ └~─┘ └~─┘ └~─┘ │ └∊────────────────────────┘