Box - monad <

From J Wiki
< Help(Redirected from Help/Primer/Box - monad lt)
Jump to navigation Jump to search


<=   =>

So far you have dealt with atoms that are either numeric or character. The monad < (box) introduces a new type of atom called boxed. The monad < applies to any noun and returns an atom that is a box which contains the argument.

An array is either a numeric array that contains numbers, or a literal array that contains characters, or a boxed array that contains boxes. Arrays of numbers and characters are referred to as open to distinguish them from boxed arrays.

   b =. < 2 3 4
   $b		NB. an atom has empty shape


A boxed array is displayed in a box.

   b
+-----+
|2 3 4|
+-----+
   c =. < 4 7 9
   d =. b , c	NB. append
   d
+-----+-----+
|2 3 4|4 7 9|
+-----+-----+
   $d		NB. list with shape 2
2
   (< 2 3 4) , < 4 7 9
+-----+-----+
|2 3 4|4 7 9|
+-----+-----+


Arrays of different types (numeric, character, and boxed) cannot be appended to one another.

   'a' , 3
|domain error, executing dyad ,
|arguments are incompatible: character and numeric
|   'a'    ,3
   3 , < 2 3 4
|domain error, executing dyad ,
|arguments are incompatible: character and boxed
|   'a'    ,<2 3 4


Boxed arrays are of the same type and can be appended no matter what they contain.

   (< 'abc') , < 4 5 6
+---+-----+
|abc|4 5 6|
+---+-----+
   (< 2 3 $ 'abcdef') , (< i. 3 4) , < 23
+---+---------+--+
|abc|0 1  2  3|23|
|def|4 5  6  7|  |
|   |8 9 10 11|  |
+---+---------+--+


<=   =>

Primer Index               Hover to reveal titles   -   Click to access   -   Current page is highlighted
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
45 46 47 48
50 51 52 53 54 55 56 57
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
97 98 99 100 101 102 103 104 105 106