Since Bron returned I remembered his solution, it was

c=: 1 : ',/ 1 u;.1 y'   NB. I added the ',/'
*:`-:`^ c 3 2 1 0 3 2 1
9 1 2.7182818 0 1.5 7.3890561 1


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: Programming <[email protected]>
> Namens Piet de Jong
> Verzonden: vrijdag 3 mei 2019 14:43
> Aan: Programming forum <[email protected]>
> Onderwerp: Re: [Jprogramming] Applying different verbs to different items.
> 
> I like the solution
> 
> c=: 1 : ',/ y u/. ~i.# y’
> 
> Seems to work fine.    Except for where the gerund is something like
> 
> g=.(+/)`(-/)
> 
> It appears that in this case  rank information is required as in
> 
> g=.(+/“1)`(-/“1)
> 
> 
> > On 3 May 2019, at 9:24 pm, R.E. Boss <[email protected]> wrote:
> >
> > What about
> >
> > c=: 1 : ',/ y u/. ~i.# y'
> >   *:`-:`^ c 3 2 1 0 3 2 1
> > 9 1 2.7182818 0 1.5 7.3890561 1
> >
> > It is one of the repeating questions in this forum and IIRC this solution 
> > was
> provided by Dan Bron (pity he is less active on this forum then he used to
> be).
> >
> >
> > R.E. Boss
> >
> >
> >> -----Oorspronkelijk bericht-----
> >> Van: Programming <[email protected]>
> >> Namens Piet de Jong
> >> Verzonden: vrijdag 3 mei 2019 11:20
> >> Aan: Programming forum <[email protected]>
> >> Onderwerp: Re: [Jprogramming] Applying different verbs to different
> items.
> >>
> >> Thanks for pointing the problem with repeated items.
> >>
> >> “respectively” (I looked at the code) appears to be  a long complicated
> >> explicitly defined conjunction.   I was hoping for something succinct and
> >> elegant that I could add to my bag of tricks (and understanding).
> >>
> >>> On 3 May 2019, at 7:04 pm, Ric Sherlock <[email protected]> wrote:
> >>>
> >>> I think /.~ works fine until there are repeated items. So
> >>>  g=: *:`-:`^
> >>>  c=: /.~
> >>>  g c 3 1 0 3   NB. probably not the desired result
> >>> 9 9
> >>>
> >>> 0.5 0
> >>>
> >>> 1 0
> >>>
> >>>
> >>> Using respectively works ok and also allows for dyadic verb use in
> >>> the gerund.
> >>>
> >>> c2=: respectively ]
> >>>
> >>> g c2 3 1 0 3
> >>>
> >>> 9 0.5 1 9
> >>>
> >>> g c2 i. 3 4
> >>>
> >>> 0 1 4 9
> >>>
> >>> 2 2.5 3 3.5
> >>>
> >>> 2980.96 8103.08 22026.5 59874.1
> >>>
> >>>
> >>>
> >>>
> >>> On Fri, May 3, 2019 at 8:16 PM Piet de Jong <[email protected]>
> wrote:
> >>>
> >>>> Following all the suggestions, the following seems to get close
> >>>> g=. *: ` -: `^  c=. /.~
> >>>>
> >>>> g c i.3 4
> >>>> 0 2 4 6
> >>>>
> >>>> 2 2.5 3 3.5
> >>>>
> >>>> 16 18 20 22
> >>>>
> >>>>  $ g c i.3 4
> >>>> 3 1 4
> >>>>
> >>>> The only annoying thing are the final dimensions, fixed up with ,”2
> >>>>
> >>>>> On 3 May 2019, at 5:04 pm, Piet de Jong <[email protected]>
> wrote:
> >>>>>
> >>>>> c=:((128!:2)&.><)”0
> >>>>>
> >>>>> seems to work great.   Will have to work out exactly why it works —
> >>>> don’t understand the why  the rank 0 boxing makes things happen the
> >>>> right way.
> >>>>>
> >>>>>> On 3 May 2019, at 2:32 pm, Gilles Kirouac <[email protected]>
> wrote:
> >>>>>>
> >>>>>> or (not as simple)
> >>>>>>
> >>>>>> c=: (128!:2)&.><
> >>>>>>
> >>>>>> g c"0 y
> >>>>>>
> >>>>>> ┌─┬───┬─┐
> >>>>>>
> >>>>>> │9│0.5│1│
> >>>>>>
> >>>>>> └─┴───┴─┘
> >>>>>>
> >>>>>> Try removing "0
> >>>>>>
> >>>>>>
> >>>>>> Le 2019-05-02 à 22:35, 'Rob Hodgkinson' via Programming a écrit :
> >>>>>>> Hi Piet, not ignorant at all !
> >>>>>>>
> >>>>>>> Try using oblique (an obscure feature is that the u in u/. can
> >>>>>>> be a
> >>>> gerund, in which case it is evoked cell wise);
> >>>>>>>
> >>>>>>> g=. *: ` -: `^
> >>>>>>> y=. 3 1 0
> >>>>>>> g /. y
> >>>>>>> 9
> >>>>>>> 0.5
> >>>>>>> 1
> >>>>>>>
> >>>>>>> Found in Section 15 of
> >>>>>>> https://www.jsoftware.com/books/pdf/brief.pdf <
> >>>> https://www.jsoftware.com/books/pdf/brief.pdf>.
> >>>>>>>
> >>>>>>> HTH, Regards Rob
> >>>>>>>
> >>>>>>>> On 3 May 2019, at 10:59 am, pietdion <[email protected]>
> wrote:
> >>>>>>>>
> >>>>>>>> Hopefully not an ignorant question.
> >>>>>>>>
> >>>>>>>> Am looking for a simple (tacit, non complicated) construction
> (verb?
> >>>>>>>> adverb? conjunction?) “c" that takes a gerund and applies the
> >>>> successive
> >>>>>>>> verbs in the gerund to successive items.
> >>>>>>>>
> >>>>>>>> A simple example is
> >>>>>>>>
> >>>>>>>> g=. *: ` -: `^
> >>>>>>>> y=. 3 1 0
> >>>>>>>> g  c  y
> >>>>>>>> 9  0.5  1
> >>>>>>>>
> >>>>>>>> What “c”  achieves this for arbitrary gerunds g's and y’s?
> >>>>>>>>
> >>>>>>>> I realise this can be done in a variety of explicit ways and  with 
> >>>>>>>> the
> >>>>>>>> agenda construct.    All I can come up with is intricate
> >>>> constructions.
> >>>>>>>> Looking for something simple and direct.   Seems to have a lot of
> >>>> uses.
> >>>>>>>> ---------------------------------------------------------------
> >>>>>>>> --
> >>>>>>>> ----- 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
> >>>>>
> >>>>
> >>>> -------------------------------------------------------------------
> >>>> --
> >>>> - 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
> > ----------------------------------------------------------------------
> > 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