The monadic form was incorrect. Here is a working version:
eachv=: 1 : 0
  m 4 :'[email protected]&.>y'"_1 y
:
  m 4 :'[email protected]&.>/y'"_1 x,.y
)

   (<rnge) fns eachv data
+--------------+--------------+--------------+-------------------+
| 2  1  0 _1 _2| 1  2  3  4  5| 7  8  9 10 11| 3  1.5  1 0.75 0.6|
|11 10  9  8  7| 5 10 15 20 25|23 24 25 26 27|12    6  4    3 2.4|
|20 19 18 17 16| 9 18 27 36 45|39 40 41 42 43|21 10.5  7 5.25 4.2|
|29 28 27 26 25|13 26 39 52 65|55 56 57 58 59|30   15 10  7.5   6|
|38 37 36 35 34|17 34 51 68 85|71 72 73 74 75|39 19.5 13 9.75 7.8|
+--------------+--------------+--------------+-------------------+
   fns eachv data
+--------+-------+-----------+-----------------------------+
| 3  2  1|  0   1| 6  7  8  9|            _ 3           1.5|
| 9  8  7| 10  15|26 27 28 29|            4 3           2.4|
|15 14 13| 36  45|46 47 48 49|          3.5 3         2.625|
|21 20 19| 78  91|66 67 68 69|3.33333333333 3 2.72727272727|
|27 26 25|136 153|86 87 88 89|         3.25 3 2.78571428571|
+--------+-------+-----------+-----------------------------+
   

> From: Sherlock, Ric
> 
> Ok here is an explicit adverb that builds on the idea:
> 
> applyverbs=: 3 : ('[email protected]&.>y';':';'[email protected]&.>/y')"_1
> eachv=: 1 : ('m applyverbs y';':';'m applyverbs x,.y')
> 
>    (<rnge) fns eachv data
> +--------------+--------------+--------------+-------------------+
> | 2  1  0 _1 _2| 1  2  3  4  5| 7  8  9 10 11| 3  1.5  1 0.75 0.6|
> |11 10  9  8  7| 5 10 15 20 25|23 24 25 26 27|12    6  4    3 2.4|
> |20 19 18 17 16| 9 18 27 36 45|39 40 41 42 43|21 10.5  7 5.25 4.2|
> |29 28 27 26 25|13 26 39 52 65|55 56 57 58 59|30   15 10  7.5   6|
> |38 37 36 35 34|17 34 51 68 85|71 72 73 74 75|39 19.5 13 9.75 7.8|
> +--------------+--------------+--------------+-------------------+
> 
>    fns eachv data
> +--------+---+-----------+--------+
> | 0  1  2|0 1| 0  1  2  3| 0  1  2|
> | 3  4  5|2 3| 4  5  6  7| 3  4  5|
> | 6  7  8|4 5| 8  9 10 11| 6  7  8|
> | 9 10 11|6 7|12 13 14 15| 9 10 11|
> |12 13 14|8 9|16 17 18 19|12 13 14|
> +--------+---+-----------+--------+
> 
> > From: Sherlock, Ric
> >
> > For practical use I really like Henry/Martin's adverb approach, but
> > like Victor haven't had any success trying to turn your idea into one
> > that does the job.
> >
> > > From: Raul Miller
> > >
> > > On Wed, Aug 19, 2009 at 11:28 PM, Sherlock,
> > > Ric wrote:
> > > >   fns=: ((-~ +/)"1)`((*~ +/)"1)`((+~ +/)"1)`((%~ +/)"1)
> > > >   rnge=. >: i. 5
> > > >   ]data=. (i.5 3);(i.5 2);(i.5 4);(i.5 3)
> > > ...
> > > > Given the gerund "fns" (4 dyadic verbs) and the noun "data" (4
> > arrays
> > > > which are the desired arguments for the corresponding verbs in
> the
> > > > gerund), how can I apply the verbs to their respective arguments
> > > > such that:
> > > >
> > > >   rnge applyVerbs data
> > > > +-------------------+--------------+--------------+--------------
> +
> > > > | 3  1.5  1 0.75 0.6| 7  8  9 10 11| 1  2  3  4  5| 2  1  0 _1
> _2|
> > > > |12    6  4    3 2.4|23 24 25 26 27| 5 10 15 20 25|11 10  9  8
>  7|
> > > > |21 10.5  7 5.25 4.2|39 40 41 42 43| 9 18 27 36 45|20 19 18 17
> 16|
> > > > |30   15 10  7.5   6|55 56 57 58 59|13 26 39 52 65|29 28 27 26
> 25|
> > > > |39 19.5 13 9.75 7.8|71 72 73 74 75|17 34 51 68 85|38 37 36 35
> 34|
> > > > +-------------------+--------------+--------------+--------------
> +
> > >
> > >    |.fns 4 :'[email protected]&.>/y'"_1 (<rnge),. data
> > > +-------------------+--------------+--------------+--------------+
> > > | 3  1.5  1 0.75 0.6| 7  8  9 10 11| 1  2  3  4  5| 2  1  0 _1 _2|
> > > |12    6  4    3 2.4|23 24 25 26 27| 5 10 15 20 25|11 10  9  8  7|
> > > |21 10.5  7 5.25 4.2|39 40 41 42 43| 9 18 27 36 45|20 19 18 17 16|
> > > |30   15 10  7.5   6|55 56 57 58 59|13 26 39 52 65|29 28 27 26 25|
> > > |39 19.5 13 9.75 7.8|71 72 73 74 75|17 34 51 68 85|38 37 36 35 34|
> > > +-------------------+--------------+--------------+--------------+
> >
> > ---------------------------------------------------------------------
> -
> > For information about J forums see
> http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to