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