Thanks Gilles, my typo indeed ! > On 18 Nov 2017, at 4:57 am, Gilles Kirouac <[email protected]> wrote: > > 1(0,+/\}.20 10 12)}42$0 NB. mask for length 10 12 20 > > 1(0,+/\}:20 10 12)}42$0 NB. Drop last, not first; for 20 10 12 > > > Le 2017-11-17 à 00:24, Daniel Lyons a écrit : >> Thanks Rob! >> >> I did feel that the general idea of the rolling sum generating the indices >> of the frets was not terrible, it just seemed like I was doing too much work >> to get there. >> >> I have noticed that almost every time I ask for something, it's right there >> in the core documentation! >> >>> On Nov 16, 2017, at 10:20 PM, Rob Hodgkinson <[email protected]> wrote: >>> >>> I meant to add … which is very close to what you derived. >>> >>> The key is the generation of the fret, another way here, but the group may >>> suggest better phrases; >>> 1(0,+/\}.20 10 12)}42$0 >>> 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >>> 0 0 0 0 >>> >>> …/Regards Rob >>> >>>> On 17 Nov 2017, at 4:03 pm, Rob Hodgkinson <[email protected]> wrote: >>>> >>>> Hi Daniel, there is a primer article on cut (using cut2) which may help >>>> you; >>>> http://www.jsoftware.com/help/primer/cut.htm >>>> >>>> The last example shows fixed width cuts using a boolean mask, so your same >>>> example could be generated as so; >>>> >>>> NB. This generates the fret as a boolean list >>>> (i.42) e. +/\0,20 10 12 >>>> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 >>>> 0 0 0 0 0 >>>> >>>> NB. Now apply the fret to the data using the ‘cut’ conjunction and >>>> argument is < (enclose) >>>> ((i.42) e. +/\0,20 10 12) <;.1 'John Smith WA 418-Y11-4111’ >>>> ┌────────────────────┬──────────┬────────────┐ >>>> │John Smith │WA │418-Y11-4111│ >>>> └────────────────────┴──────────┴────────────┘ >>>> >>>> NB. Now use rank “1 to apply the function on vectors of the table argument >>>> (as in your example) >>>> ((i.42) e. +/\0,20 10 12) <;.1"(1) 1 42$'John Smith WA 418-Y11-4111’ >>>> NB. >>>> ┌────────────────────┬──────────┬────────────┐ >>>> │John Smith │WA │418-Y11-4111│ >>>> └────────────────────┴──────────┴────────────┘ >>>> >>>> Hope this helps, Regards Rob >>>> >>>> >>>>> On 17 Nov 2017, at 3:36 pm, Daniel Lyons <[email protected]> wrote: >>>>> >>>>> My problem is essentially to give an input file and the column widths and >>>>> get it split up properly. I asked about it on the code review stack >>>>> exchange site, but there doesn't seem to be much traffic there, so I >>>>> figured maybe I could get a few eyes without annoying too many people >>>>> reposting here. >>>>> >>>>> https://codereview.stackexchange.com/questions/180633/parsing-fixed-width-format-with-j >>>>> >>>>> <https://codereview.stackexchange.com/questions/180633/parsing-fixed-width-format-with-j> >>>>> >>>>> The solution I hacked up is this: >>>>> >>>>> parseFW =: dyad def '(+/ (0,+/\x) ="(0 1) i. (+/x)) <;.1 y'"(_ _1) >>>>> >>>>> Usage then looks like this: >>>>> >>>>> (20 10 12) parseFW 1 42 $ 'John Smith WA 418-Y11-4111' >>>>> >>>>> I find this works, at least for the simple cases I have thrown at it so >>>>> far, but I can't help but feel there's too much happening here for >>>>> something fairly simple. I know where the frets are the rest is just >>>>> encoding them. In particular it felt like the inverse of I. should be >>>>> helpful but I didn't get that working. >>>>> >>>>> If there's a library that does this, I'd probably rather use that, but I >>>>> didn't see one at first blush. >>>>> >>>>> Input greatly appreciated! Thanks, >>>>> >>>>> -- >>>>> Daniel Lyons >>>>> >>>>> >>>>> >>>>> >>>>> ---------------------------------------------------------------------- >>>>> 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
