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)
When 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 ³, transpose) by using a non ascending set of axes in the axis specification. Including all the axes in ascending order is equivalent to enclose.
½›[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