Fine! Pretty amending. and how looks replacement of 8 with 888 in box2 =: 1;2;<3;4;5;<6;7;8;9 ? (sorry for too much similar Q)
On Sat, Nov 23, 2013 at 11:58 PM, Pascal Jasmin <[email protected]>wrote: > the motivation for the amend conjunction was: > > 6 (2}) 1 2 3 4 > 1 2 6 4 > +: (2}) 1 2 3 4 > 6 > > If the second sentence produced the same result as first, would have > probably been a better design. > > > ----- Original Message ----- > From: Björn Helgason <[email protected]> > To: Programming forum <[email protected]> > Cc: > Sent: Saturday, November 23, 2013 1:58:30 PM > Subject: Re: [Jprogramming] A useful amend conjunction > > This here works > > (2;0){:: 1;2;<3;4 > 3 > > This here does not > > 300 ( (2;0)}::) 1;2;<3;4 > |nonce error > | 300 ((2;0)}::)1;2;<3;4 > > It would be nice if it would give > ┌─┬─┬─────┐ > │1│2│┌─┬─┐│ > │ │ ││300│4││ > │ │ │└─┴─┘│ > └─┴─┴─────┘ > > > On Nov 23, 2013 6:38 PM, "Y-01" <[email protected]> wrote: > > > Interesting, > > > > So you amend <3;4 with (300"_;{:) . > > > > Now, lets consider the case of box =: 1;2;<3;4;5;6;7;8;9 and necessity of > > change 5 with 555 what we have to do? > > > > in this case and with usage of your approach the result will be next: > > ((2&{.); (555"_)@:{.; 3&}.)@:> L:1 amend 2 ] 1;2;<3;4;5;6;7;8;9 > > > > is it right? > > > > Or there is a simple way to generalize amend to derivative of amends > > (amend2) : > > (2;2) 555 amend2 1;2;<3;4;5;6;7;8;9 > > > > > > On Sat, Nov 23, 2013 at 9:57 PM, Pascal Jasmin <[email protected] > > >wrote: > > > > > the simple way > > > > > > (<300;4)"_ amend 2 ] 1;2;<3;4 > > > ┌─┬─┬───────┐ > > > │1│2│┌───┬─┐│ > > > │ │ ││300│4││ > > > │ │ │└───┴─┘│ > > > └─┴─┴───────┘ > > > > > > a tricker way > > > > > > ((100&*)@:{.;{:)@:> L:1 amend 2 ] 1;2;<3;4 > > > > > > > > > the way to find the trickier ways: > > > > > > ((100&*)@{.;{:)@:>@:> 2 {] 1;2;<3;4 > > > ┌───┬─┐ > > > │300│4│ > > > └───┴─┘ > > > ((100&*)@{.;{:)@:>L:1 ] 2 {] 1;2;<3;4 > > > ┌───────┐ > > > │┌───┬─┐│ > > > ││300│4││ > > > │└───┴─┘│ > > > └───────┘ > > > > > > > > > > > > > > > > > > ________________________________ > > > From: Y-01 <[email protected]> > > > To: [email protected] > > > Sent: Saturday, November 23, 2013 11:48:50 AM > > > Subject: Re: [Jprogramming] A useful amend conjunction > > > > > > > > > Pascal, good day > > > > > > Can you amend 3 with 300 with you adverbs in the next? > > > ]box=:1;2;<3;4 > > > ┌─┬─┬─────┐ > > > │1│2│┌─┬─┐│ > > > │ │ ││3│4││ > > > > > > └─┴─┴─────┘ > > > > > > thanks > > > > > > > > > On Tue, Sep 24, 2013 at 2:44 AM, Pascal Jasmin <[email protected] > > > >wrote: > > > > > > > very nice, thank you. > > > > > > > > Its not quite the same, as the explicit version allows for a select > > verb > > > > like picking out the rows where column 2 is prime > > > > > > > > (0 _2:amdt 2 +:amdt ])"1 amend (I.@:(1&p:)@:(2&{"1)) i. 5 5 > > > > _2 1 4 3 4 > > > > _2 6 14 8 9 > > > > 10 11 12 13 14 > > > > _2 16 34 18 19 > > > > 20 21 22 23 24 > > > > > > > > though a workaround is faster for large data: > > > > (I.@:(1&p:)@:(2&{"1) a) (0 _2:amdt 2 +:amdt ])"1 amdt a=. i. > 5 > > 5 > > > > > > > > > > > > > > > > I can't seem to get the L:0 version working though: > > > > > > > > amdtL0 =. ((((@:{(L:0)))((`[)(`])))}(L:0)) > > > > > > > > compared to: > > > > > > > > > > > > amendL0_z_ =: 2 : 0 NB. v is n or n{"num > > > > s=. v"_ y > > > > (u (s{ L:0 y)) (s}) L:0 y > > > > ) > > > > > > > > replace all 4 columns for rows 0-3 > > > > (i.4) (0;1;2;'f')"1 amdt amendL0 (i.3) (<"1 &. |: i. 5 3), > > > <'ABCDE' > > > > ┌──────────┬───────────┬───────────┬─────┐ > > > > │0 0 0 9 12│1 1 1 10 13│2 2 2 11 14│fffDE│ > > > > └──────────┴───────────┴───────────┴─────┘ > > > > > > > > rearrange columns for rows 2 and 3 > > > > ((<'f') ,~ |.@:}:)"1 amendL0 2 3 (<"1 &. |: i. 5 3), <'ABCDE' > > > > ┌───────────┬───────────┬──────────┬─────┐ > > > > │0 3 8 11 12│1 4 7 10 13│2 5 6 9 14│ABffE│ > > > > └───────────┴───────────┴──────────┴─────┘ > > > > > > > > > > > > ----- Original Message ----- > > > > From: June Kim (김창준) <[email protected]> > > > > To: Programming forum <[email protected]> > > > > Cc: > > > > Sent: Monday, September 23, 2013 1:22:32 PM > > > > Subject: Re: [Jprogramming] A useful amend conjunction > > > > > > > > I think someone might be interested in a tacit version. > > > > > > > > > > > > amdt=.((@:{)((`[)(`])))} > > > > 3 (0 _2: amdt 2 _1: amdt ]) amdt i. 5 5 > > > > 0 1 2 3 4 > > > > 5 6 7 8 9 > > > > 10 11 12 13 14 > > > > _2 16 _1 18 19 > > > > 20 21 22 23 24 > > > > > > > > 3 4 5 ((-&32)&.(a.&i.)) amdt 'abcdefgh' > > > > abcDEFgh > > > > > > > > > > > > > > > > On Sun, Sep 22, 2013 at 8:48 AM, Pascal Jasmin < > [email protected] > > > > >wrote: > > > > > > > > > Here is what seems to me a much easier/saner version of amend to > use, > > > > > especially for chained amends. 2 versions, one called for L:0 y, > > then > > > > > other without. The dyad version doesn't seem totally necessary. > > > > > > > > > > amend_z_ =: 2 : 0 NB. v is n or n{"num > > > > > if. 0 = 4!:0 <'v' do. s =. v else. s =. v y end. > > > > > (u (s{y)) (s}) y > > > > > : > > > > > if. 0 = 4!:0 <'v' do. s =. v else. s =. v y end. > > > > > (x u (s{y)) (s}) y > > > > > ) > > > > > > > > > > amendL0_z_ =: 2 : 0 NB. v is n or n{"num > > > > > if. 0 = 4!:0 <'v' do. s =. v else. s =. v y end. > > > > > (u (s{ L:0 y)) (s}) L:0 y > > > > > : > > > > > if. 0 = 4!:0 <'v' do. s =. v else. s =. v y end. > > > > > (x u (s{ L:0)y) (s} L:0) y > > > > > ) > > > > > > > > > > ([: 2: amend 0 3: amend 1) amend 2 ( i. 5 3) NB. replace in row > > 2, > > > > col > > > > > 0 and 1 > > > > > 0 1 2 > > > > > 3 4 5 > > > > > 2 3 8 > > > > > 9 10 11 > > > > > 12 13 14 > > > > > ([: 2: amend 0 3: amend 1) amend 2 &.|: ( i. 5 3) NB. replace > in > > > col > > > > > 2, row 0 and 1 > > > > > 0 1 2 > > > > > 3 4 3 > > > > > 6 7 8 > > > > > 9 10 11 > > > > > 12 13 14 > > > > > > > > > > > > > > > ((0;'f')"_ amend 1 3) amendL0 3 (<"1 &. |: i. 5 3), <'ABCDE' > > NB. > > > > for > > > > > row 3, replace col 1 and 3 > > > > > ┌──────────┬──────────┬───────────┬─────┐ > > > > > │0 3 6 9 12│1 4 7 0 13│2 5 8 11 14│ABCfE│ > > > > > └──────────┴──────────┴───────────┴─────┘ > > > > > > > > > > ( 2&+ L:0 amend 1 2) amendL0 3 4 (<"1 &. |: i. 5 3), <'ABCDE' > > NB. > > > > > use function y, to replace col 1 and 2 of row 3 and 4 > > > > > ┌──────────┬───────────┬───────────┬─────┐ > > > > > │0 3 6 9 12│1 4 7 12 15│2 5 8 13 16│ABCDE│ > > > > > └──────────┴───────────┴───────────┴─────┘ > > > > > > > > > > > > > > > or dyad: > > > > > > > > > > 2( + L:0 amend 1 2) amendL0 3 4 (<"1 &. |: i. 5 3), <'ABCDE' > > > > > ┌──────────┬───────────┬───────────┬─────┐ > > > > > │0 3 6 9 12│1 4 7 12 15│2 5 8 13 16│ABCDE│ > > > > > └──────────┴───────────┴───────────┴─────┘ > > > > > > > > > > more complex function: change row 3 from 9;10;11;'D' to 11;10;9;'f' > > > > > > > > > > ((<'f') ,~ |.@:}:) amendL0 3 (<"1 &. |: i. 5 3), <'ABCDE' > > > > > ┌───────────┬───────────┬──────────┬─────┐ > > > > > │0 3 6 11 12│1 4 7 10 13│2 5 8 9 14│ABCfE│ > > > > > └───────────┴───────────┴──────────┴─────┘ > > > > > > > > > > > > > > > for improvements, the v side could be a 2 sided gerund for the {`} > > > sides > > > > > which could be for example {"1`}"1 or {L:0`}L:0 > > > > > > > > > > > > > > > Thank you Raul and Aai for your help. > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > From: Raul Miller <[email protected]> > > > > > To: Programming forum <[email protected]> > > > > > Cc: > > > > > Sent: Saturday, September 21, 2013 12:50:48 AM > > > > > Subject: Re: [Jprogramming] Amend trickiness part 2 > > > > > > > > > > On Fri, Sep 20, 2013 at 6:21 PM, Pascal Jasmin < > > [email protected] > > > > > > > > > wrote: > > > > > >> I wanted to use the dyadic definition, but did not have > > > > > >> a meaningful value for x, so I used ~ (giving the effect of y m} > > y). > > > > > > > > > > > > There seems to be a lot more going on there. There is already > an x > > > > > value of 1. > > > > > > > > > > Here? > > > > > > > > > > 1 3:`2:`]}~&.>@{`[`]} <"1 |: i. 5 3 > > > > > > > > > > In this case, the ~ in the phrase 3:`2:`]}~&.>@... appears in the > > verb > > > > > which is on the left side of an @ > > > > > > > > > > And we always use the monadic definition of the verb on the left of > > > the @ > > > > > > > > > > So we use the monadic definition of 3:`2:`]}~&.> and so we use the > > > > > monadic definition of 3:`2:`]}~ > > > > > > > > > > (And the tilde means we use the dyadic definition of 3:`2:`]}) > > > > > > > > > > That said, I should point out that there's something subtle going > on > > > > > here, with word boundaries: > > > > > > > > > > ;:'1 2 3: 4 5' > > > > > +---+--+---+ > > > > > |1 2|3:|4 5| > > > > > +---+--+---+ > > > > > > > > > > > for instance with the value x of _3 _2 0 or 2, an answer is > > provided, > > > > > > but item 1 of the middle cell is also modified. Other values of > x > > > > > > give various domain or index errors. If the '~' is removed, > then x > > > > > > values of 0 to 2, produce a middle cell of 6 to 8. I can't > follow > > > > > > what causes those results at all. > > > > > > > > > > The x that I think you are speaking of here is relevant for the > verb > > > > > on the right hand side of the @ so lets simplify the left hand side > > > > > and play with the expression a bit: > > > > > > > > > > 1 <@0:@{`[`]} <"1 |: i. 5 3 > > > > > +----------+-+-----------+ > > > > > |0 3 6 9 12|0|2 5 8 11 14| > > > > > +----------+-+-----------+ > > > > > _3 _2 0 <@0:@{`[`]} <"1 |: i. 5 3 > > > > > +-+-+-----------+ > > > > > |0|0|2 5 8 11 14| > > > > > +-+-+-----------+ > > > > > 2 <@0:@{`[`]} <"1 |: i. 5 3 > > > > > +----------+-----------+-+ > > > > > |0 3 6 9 12|1 4 7 10 13|0| > > > > > +----------+-----------+-+ > > > > > > > > > > Note also that index _3 is (for this argument) the same as index 0. > > > > > > > > > > > Next I'm trying to change columns 1 and 4 row 2 to 3 and 'F', > but I > > > > > expect that to be harder. > > > > > > > > > > Well... I'm not quite sure what you want there, but let us assume > > that > > > > > you want to change > > > > > > > > > > (<"1 &. |: i. 5 3), <'ABCDE' > > > > > +----------+-----------+-----------+-----+ > > > > > |0 3 6 9 12|1 4 7 10 13|2 5 8 11 14|ABCDE| > > > > > +----------+-----------+-----------+-----+ > > > > > > > > > > to > > > > > > > > > > +----------+-----------+-----------+-----+ > > > > > |0 3 3 9 12|1 4 7 10 13|2 5 8 11 14|ABFDE| > > > > > +----------+-----------+-----------+-----+ > > > > > > > > > > if so, a phrase that would accomplish that would be: > > > > > > > > > > (3;7;8;'F') [`2:`]}&.> data > > > > > > > > > > Here, I've presumed that you are calling the contents of a box a > > > > > "column" and that you are calling the location within a box a > "row". > > > > > I've also presumed that you have added 1 to the "column index" when > > > > > you are speaking of "columns 1 and 4". I could easily be wrong, > > > > > though, about your intentions. If so, let us know and we can try > > > > > again? > > > > > > > > > > Thanks, > > > > > > > > > > -- > > > > > Raul > > > > > > > ---------------------------------------------------------------------- > > > > > 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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
