Two tricks here:

(1) Designing the altered parser table to handle this case (without
breaking existing code), and

(2) implementing it.

-- 
Raul

On Sun, Nov 3, 2019 at 6:43 PM 'Mike Day' via Programming
<[email protected]> wrote:
>
> There was some discussion a year or two ago about this C-like “compound 
> assignment.”  I’d liked it in Dyalog APL but others weren’t keen on its 
> incorporation in J.
> I too had used the indexed increment idiom in Dyalog for building frequency 
> tables.
>
> There was correspondence very recently on using “key” to build frequencies in 
> J.
> So:
>    (<:@#/.~ @: ,~&(lc,' '))'short test'   NB. prepend domain members
> 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 2 3 0 0 0 0 0 0 1
>
>    (lc,' ')([<:@#/.~@:,e.~#])'short test1224' NB. Not counting non-members
> 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 2 3 0 0 0 0 0 0 1
>
> Very simple if you’re just counting what’s there...
>     #/.~ 'short test1224'
> 2 1 1 1 3 1 1 1 2 1
>
> Mike
>
> Sent from my iPad
>
> > On 3 Nov 2019, at 22:13, Jimmy Gauvin <[email protected]> wrote:
> >
> > Hi,
> >
> > some APLs have a combination of assignment with a function, for example :
> >
> >      a←⍳5
> >      a+←1
> >      a
> > 2 3 4 5 6
> >
> > This can be combined with index to good effect, for example counting
> > character occurrences in a text vector :
> >      ,bkt←0/⍨1+≢lc
> > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> >      bkt[lc⍳'short test']+←1
> >      bkt,[.5]lc,' '
> > 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 2 3 0 0 0 0 0 0 1
> > a b c d e f g h i j k l m n o p q r s t u v w x y z
> >
> > Is there something equivalent in J ?
> > All I have come up with is the classical construct using the table operator
> > :
> >
> >   lc,:1": +/'short test'=/lc
> >
> > abcdefghijklmnopqrstuvwxyz
> >
> > 00001001000000100123000000
> > ----------------------------------------------------------------------
> > 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