Converts a vector to a matrix, or a matrix to a vector using optional fill characters and line delimiters. ŒBOX will only accept simple arguments.
In creating a matrix from a vector, ŒBOX uses the space characters in the vector to determine the line breaks. It also uses the space character as a filler to make up the lines to the same length.
ŒBOX 'LEE PRENDERGAST PSMITH'
LEE
PRENDERGAST
PSMITH
When ŒBOX is used to convert a matrix into a vector it will treat the space character(s) at the end of each row as fillers, and will separate the original rows by spaces in the resultant vector:
TAB
APL
LISP
PASCAL
ŒBOX TAB
APL LISP PASCAL
The two argument form of ŒBOX accepts one or two character left argument. The first character is used as the delimiter and the second the filler. If no filler is specified, the space character is used. In this example, ŒBOX has a left argument of '*' and it uses '*' to determine breaks between lines:
'*' ŒBOX 'JAN FEB MAR* 1 2 3'
JAN FEB MAR
1 2 3
Here's an example with '.' used as the filler:
'/.' ŒBOX 'LEE/PRENDERGAST/PSMITH'
LEE........
PRENDERGAST
PSMITH.....
In this next example, $ is treated as the delimiting character and the space character as the filler in the matrix TAB (defined above):
'$' ŒBOX TAB
APL$LISP$PASCAL
If the matrix contains 'filler' symbols, these can be removed:
NAMETAB
LEE........
PRENDERGAST
PSMITH.....
'$.' ŒBOX NAMETAB
LEE$PRENDERGAST$PSMITH
ŒBOX can also use numeric left and right arguments in the same way as character arguments. By default the delimiter and fill numbers are both 0.
ŒBOX 1 2 3 0 1 2
1 2 3
1 2 0
¯1 ¯6 ŒBOX 2 3 4 ¯1 6 ¯1 ¯1 8 2
2 3 4
6 ¯6 ¯6
¯6 ¯6 ¯6
8 2 ¯6