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