*That's* where I saw it... I remember now. I try not to re-invent existing library utilities, but I often find myself doing so out of lamentable ignorance of the contents of strings / files / stdlib.
On Tue, Jan 3, 2012 at 5:57 AM, Ric Sherlock <tikk...@gmail.com> wrote: > Coming to this a bit late but thought that the joinstring verb from > the strings script deserves a mention here: > require 'strings' NB. not needed in J7 > joinstring ;:'alpha bravo charlie' > alphabravocharlie > ' ' joinstring ;:'alpha bravo charlie' > alpha bravo charlie > '|' joinstring ;:'alpha bravo charlie' > alpha|bravo|charlie > '","' joinstring ;:'alpha bravo charlie' > alpha","bravo","charlie > joinstring > ''&$: :(#@[ }. <@[ ;@,. ]) > > On Tue, Jan 3, 2012 at 4:10 PM, Ian Clark <earthspo...@gmail.com> wrote: >> Warming to the theme, this gets us close... >> >> 5!:6 <'Z' >> <;._1 ' alpha bravo charlie' >> >> Apart from its curiosity value, it has problems. For a start it's no >> faster than ;:inv . Plus it takes a pronoun, not a noun, although you >> can get away with using 'y' in an explicit definition: >> >> foo=: 3 : '8 }. }: 5!:6 <''y''' >> foo Z >> alpha bravo charlie >> >> >> On Tue, Jan 3, 2012 at 1:47 AM, Linda Alvord <lindaalv...@verizon.net> wrote: >>> The example here replaces the space between words with | >>> >>> Z=: ;:'alpha bravo charlie' >>> Z >>> ┌─────┬─────┬───────┐ >>> │alpha│bravo│charlie│ >>> └─────┴─────┴───────┘ >>> b2o=: [:}. [: ; ' ' ,&.> ] >>> b2o >>> [: }. [: ; ' ' ,&.> ] >>> >>> $b2o Z >>> alpha bravo charlie >>> $b2o Z >>> 19 >>> _1 _1}.":Z >>> ┌─────┬─────┬─────── >>> │alpha│bravo│charlie >>> >>> ,1 1}._1 _1}.":Z >>> alpha│bravo│charlie >>> >>> $,1 1}._1 _1}.":Z >>> >>> This doesn't remove the | between words. However it is interesting >>> because it illustrates how the boxes are constructed! >>> >>> Linda >>> >>> -----Original Message----- >>> From: programming-boun...@jsoftware.com >>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Raul Miller >>> Sent: Monday, January 02, 2012 11:26 AM >>> To: Programming forum >>> Subject: Re: [Jprogramming] Linking boxed strings with intervening spaces >>> >>> The initial transcript should have been: >>> >>> Z=: ;:'alpha bravo charlie' >>> >>> ;:inv Z >>> alpha bravo charlie >>> >>> }.;' ';"1,.Z >>> alpha bravo charlie >>> >>> 9!:7]11#' ' >>> >>> ,1 1}._1 _1}.":Z >>> alpha bravo charlie >>> >>> My gmail induced formatting errors are seriously making me reluctant >>> to use email. >>> >>> -- >>> Raul >>> >>> On Mon, Jan 2, 2012 at 11:21 AM, Raul Miller <rauldmil...@gmail.com> wrote: >>>> 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 >>> >>> ---------------------------------------------------------------------- >>> 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