(,: 'xx')    4 : 'x,''_'',":y'~ reduce  1 2 3 4 
xx_4_3_2_1 




----- Original Message -----
From: Moon S <[email protected]>
To: [email protected]
Cc: 
Sent: Tuesday, February 3, 2015 12:20 PM
Subject: Re: [Jprogramming] Fold/reduce with initial value?

boxscan/reduce neary works:

   boxscan =: ((&.>)/)(>@:)

   reduce =: 1 : '([: u boxscan ,~)&(<"_1)'

   o v~ reduce l

x_x_4_3_2_1


On Tue, Feb 3, 2015 at 7:05 PM, 'Pascal Jasmin' via Programming <
[email protected]> wrote:

> if everything is the same shape, then the easy way
>
>   100  ,~   i.5
> 0 1 2 3 4 100
>
>   -~/ 100  ,~   i.5
> 90
>
>
> An adverb that works when the items you want to reduce are not (or may not
> be) the same shape as the (initial value and) final answer
>
> boxscan =: ((&.>)/)(>@:)
>
>   100    ([:-~boxscan ,~)&(<"_1) i.5
> 90
>
>
>   100    ([:(- +/"1)~ boxscan ,~)&(<"_1) i.5 2
> 55
>
>
> then as an adverb,
>
> reduce =: 1 : '([: u boxscan ,~)&(<"_1)'
>
>   100    (- +/"1)~ reduce i.5 2
> 55
>
>
>   100    (- +/"1)~ reduce 0 1 ,: 2 3
> 94
>
>
>
> ----- Original Message -----
> From: Moon S <[email protected]>
> To: [email protected]
> Cc:
> Sent: Tuesday, February 3, 2015 11:15 AM
> Subject: [Jprogramming] Fold/reduce with initial value?
>
> I have a list (l), some object (o) and a verb (v) modifying the object:
>
> l = l_0 l_1 ... l_n
> o_new = o_old v l_i
>
> The list items and the object have different types. I want to apply all the
> list items to the object:
>
> o_new = (...((o_old v l_0) v l_1) ... v l_n)     NB. the order of items
> doesn't matter
>
> Currently I do it like this:
>
> o =: o_old
> 3 : 'o =: y v o' "0 l
>
> I suspect, there must be some built-in feature for that, like / or ^:, so
> that I could write e.g.
> o_new =: o_old v REDUCE l, but I couldn't find a suitable
> verb/adverb/conjunction.
>
> Any help?
>
> Thank you.
>
> Georgiy Pruss.
> ----------------------------------------------------------------------
> 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