Z=: ;:'alpha bravo charlie'
   ;:inv Zalpha bravo charlie   }.;' ';"1,.Z
alpha bravo charlie
   9!:7]11#' '
   ,1 1}._1 _1}.":Z
alpha bravo charlie

I think ;:inv is the closest you are going to get to a single
primitive version.  There are probably too many worthwhile
possibilities for alternatives (newlines should terminate, commas
should separate, bullets should prefix, ...) for other the
alternatives to be single-primitive

That said, I do wish that L: would turn constants into verbs the same
way that "_ does:

   ;}.,', ';"1 ,.Z
alpha, bravo, charlie
   ;}.,(,.~ 1 |.!.(<' and ') ', '"_ L:0) Z
alpha, bravo and charlie


-- 
Raul

On Mon, Jan 2, 2012 at 10:35 AM, Ian Clark <earthspo...@gmail.com> wrote:
> Suppose z is boxed strings, eg  z=: ;: 'alpha bravo charlie'
>
> I half-recall there's a neater (single-primitive) way to recover the
> string 'alpha bravo charlie' from z than:
>
>   b2o=: [: }. [: ; ' ' ,&.> ]
>   b2o z
> alpha bravo charlie
>
> but I've forgotten what it is and can't seem to find it in Voc or Dic.
>
> On the page for "Raze" (;) the Dictionary says archly:
>   The fit conjunction (;!.f) provides fill specified by the atom f
> but AFAICS (;!.' ')z is the same as ;z , viz: 'alphabravocharlie' .
>
> Nor incidentally is (;) listed as such on the page for "Fit" (!.) .
>
> I observe however that:
>   ;:inv z
> alpha bravo charlie
>
> But what's in my mind is a way of interleaving some other letter, or 2
> spaces, or comma-space, etc.
>
> BTW timer (6!:2) tells me that ;:inv is slower than b2o .
> ----------------------------------------------------------------------
> 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