APLX Help : Help on APL language : APL Primitives : ⊂ Enclose
|
|
|
|
|
One-argument form See also two-argument form Partition Enclose produces a scalar from its argument. If the argument is already a simple scalar the result is also a simple scalar, otherwise it has a depth of one greater than the argument. TABLE←2 3⍴⍳6
TABLE
1 2 3
4 5 6
≡TABLE
1
⍴⊂TABLE (Enclose produces a scalar)
(Shape of a scalar is an empty vector)
⍴⍴⊂TABLE
0 (Rank of scalar is 0)
≡⊂TABLE
2 (Depth has been increased by 1)
Enclose with axisWhen used with an axis specification, enclose will only enclose the axes indicated within the axis specification. ⊂[1]TABLE (Enclose the rows , leaving columns)
1 4 2 5 3 6
⍴⊂[1]TABLE (Result is length 3 vector)
3
≡⊂[1]TABLE (Depth increased by 1)
2
⊂[2]TABLE (Enclose the columns leaving rows)
1 2 3 4 5 6
⍴⊂[2]TABLE (Result is length 2 vector)
2
≡⊂[2]TABLE (Depth increased by 1)
2
Enclose with axis can also be used to carry out a rearrangement of its argument (see also ⍴⊂[1 2]TABLE (Same as ⊂TABLE)
EMPTY
⍴⊂[2 1]TABLE (Scalar result)
EMPTY
⊂[2 1]TABLE (Order of axes reversed)
1 4 (Columns become rows within the first item
2 5 of the result)
3 6
When the axis specification is an empty vector, enclose with axis has no effect on a simple array, but with non-simple arguments increases the depth of the argument by 1. Each item of the argument is enclosed, but the overall shape is not altered. ⍴TABLE (TABLE, as above)
2 3
≡TABLE (Depth 1)
1
⍴⊂[⍳0]TABLE (Enclose with empty vector axis
2 3 specification has no effect)
≡⊂[⍳0]TABLE
1
TAB←2 2⍴(⍳3) (⍳3) 'ABC' 'DE'
TAB (Nested matrix)
1 2 3 1 2 3
ABC DE
⍴TAB (Shape 2 2)
2 2
⍴⊂[⍳0]TAB (Enclose with empty vector axis
2 2 specification preserves shape)
≡TAB
2
≡⊂[⍳0]TAB (Increases depth)
3
|
|
APLX Help : Help on APL language : APL Primitives : ⊂ Enclose
|
|
Copyright © 1996-2010 MicroAPL Ltd