(,: '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
