Here is another solution posted by Raul with the comment:

.  (And, personally, I prefer i. over |. for something like this.)
   
   3 move_to_front 'abc*ef'
*abcef
   k=: <@i.@-@>:@[ C. ]
   k
<@i.@-@>:@[ C. ]
   
   l=: 13 :'(<i.->:x)C.y'
   l
] C.~ [: < [: i. [: - [: >: [
   3 k 'abc*ef'
*abcef
   3 l 'abc*ef'
*abcef

   

-----Original Message-----
From: programming-boun...@jsoftware.com
[mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
Sent: Wednesday, February 01, 2012 6:01 PM
To: 'Programming forum'
Subject: Re: [Jprogramming] Understanding C. , A.

Sorry I missed the version by Arie.  Nice!

   3 6 (i=:-@#@[ |. C.) 'abc*ef*g'
**abcefg
   i
-@#@[ |. C.
   
   j=: 13 :'(-#x)|.x C.y'
   j
C. |.~ [: - [: # [
   
   3 6 j 'abc*ef*g'
**abcefg

Linda
-----Original Message-----
From: programming-boun...@jsoftware.com
[mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
Sent: Wednesday, February 01, 2012 5:20 PM
To: 'Programming forum'
Subject: Re: [Jprogramming] Understanding C. , A.

I'm happiest with the explicit version. It shows the arguments needed for
the application. 
   
   3 6 (f=:<:@-@[ C.&.|. ]) 'abc*ef*g'
**abcefg
   3 6 f a=:'abc*ef*g'
**abcefg
  
   g=: 13 :'(<:-x)C.&.|.y'!
   3 6 g a
**abcefg
   
   f
<:@-@[ C.&.|. ]
   g
] C.&.|.~ [: <: [: - [
g=: 13 :'(<:-x)C.&.|.y'

J provides the  ~  which shows up in the tacit version above. 

Then there is  h  with no  ~  and no  &.

   h=: 13 :'|.(<:-x)C.|.y'
   h
[: |. ([: <: [: - [) C. [: |. ]
   3 6 h a
**abcefg

Linda


-----Original Message-----
From: programming-boun...@jsoftware.com
[mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
Sent: Wednesday, February 01, 2012 11:26 AM
To: Programming forum
Subject: Re: [Jprogramming] Understanding C. , A.

Personally, I dislike expressions with multiple uses of ~ as they make my
head spin.

    3 6 (C.&.|.~ <:@-)~ 'abc*ef*g'
**abcefg
   3 6 (<:@-@[ C.&.|. ]) 'abc*ef*g'
**abcefg

I much prefer the second over the first.



On Wed, Feb 1, 2012 at 8:05 AM, Aai <agroeneveld...@gmail.com> wrote:

> Ah, I see that's a bit like yours David.
>
> Modifying it for 1< #x
>
>    3 6 (C. |.~ -@#@[) 'abc*ef*g'
> **abcefg
>
>
> (from Essays)
>
>    3 6 (C.&.|.~ <:@-)~ 'abc*ef*g'
> **abcefg
>k
>
>
>
> On 01-02-12 16:47, Aai wrote:
> > Sorry for the noise. You should forget the previous ones I sent: they
> > are wrong.
> >
> > It looks like this one is ok:
> >
> > mtf=:_1&|.@C.
> >
> >    ]samples=: '*abcef' |."0 1 ~-i.6
> > *abcef
> > f*abce
> > ef*abc
> > cef*ab
> > bcef*a
> > abcef*
> >
> >
> >    ]res=: '*' ([,-.~) "1 samples
> > *abcef
> > *fabce
> > *efabc
> > *cefab
> > *bcefa
> > *abcef
> >
> >    res -: mtf&>/"1 (;~I.@:('*'&=))"1 samples
> > 1
> >
> >
> >
> >
>
> --
> Met vriendelijke groet,
> @@i = Arie Groeneveld
>
> ----------------------------------------------------------------------
> 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