I suspect that Joey sorted a before breaking it into ranges: ]b =. /:~ a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /:~ ( 5 10 15 I. b) </. b ┌─────────┬──────────┬──────────────┬──────────────┐ │1 2 3 4 5│6 7 8 9 10│11 12 13 14 15│16 17 18 19 20│ └─────────┴──────────┴──────────────┴──────────────┘ In that case you don't need the final sort: ( 5 10 15 I. b) </. b ┌─────────┬──────────┬──────────────┬──────────────┐ │1 2 3 4 5│6 7 8 9 10│11 12 13 14 15│16 17 18 19 20│ └─────────┴──────────┴──────────────┴──────────────┘ Skip Cave Cave Consulting LLC On Sun, Sep 24, 2017 at 3:15 PM, Skip Cave <s...@caveconsulting.com> wrote: > Joey T. said: > > /:~ (0 5 10 15 I. a) </. a > ┌─────────┬──────────┬──────────────┬──────────────┐ > │1 2 3 4 5│6 7 8 9 10│11 12 13 14 15│16 17 18 19 20│ > └─────────┴──────────┴──────────────┴──────────────┘ > > However when I try the same thing: > > /:~ (0 5 10 15 I. a) </. a > > ┌─────────┬──────────┬──────────────┬──────────────┐ > > │2 5 3 1 4│9 7 8 10 6│12 14 11 13 15│20 19 16 18 17│ > > └─────────┴──────────┴──────────────┴──────────────┘ > > j805/j64/windows > > Library 8.05.14 > > > So on Joey's system the box contents and the boxes are sorted. On my > system just the boxes are sorted. ??? > > > Skip > > Skip Cave > Cave Consulting LLC > > On Sun, Sep 24, 2017 at 3:03 PM, Joey K Tuttle <j...@qued.com> wrote: > >> /:~ (0 5 10 15 I. a) </. a >> ┌─────────┬──────────┬──────────────┬──────────────┐ >> │1 2 3 4 5│6 7 8 9 10│11 12 13 14 15│16 17 18 19 20│ >> └─────────┴──────────┴──────────────┴──────────────┘ >> >> But that is a more boring (and perhaps less useful) result... >> >> >> > On 2017Sep 24, at 12:57, Skip Cave <s...@caveconsulting.com> wrote: >> > >> > Jimmy G said: >> > >> > With key /. and < >> > >> > (0 5 10 15 I. a) </. a >> > >> > <<<>>> >> > >> > a >> > >> > 9 12 2 20 14 11 13 15 7 5 3 19 8 1 4 16 10 6 18 17 >> > >> > >> > (0 5 10 15 I. a) </. a >> > >> > ┌──────────┬──────────────┬─────────┬──────────────┐ >> > >> > │9 7 8 10 6│12 14 11 13 15│2 5 3 1 4│20 19 16 18 17│ >> > >> > └──────────┴──────────────┴─────────┴──────────────┘ >> > >> > >> > So Jimmy's solution does box the ranges, but the ranges are not in the >> > range order specified by the left argument. Why? And how can you create >> a >> > verb that will keep the ranges in ascending order? >> > >> > >> > >> > Skip Cave >> > Cave Consulting LLC >> > >> > On Sun, Sep 24, 2017 at 2:37 PM, Jimmy Gauvin <jimmy.gau...@gmail.com> >> > wrote: >> > >> >> With key /. and < >> >> >> >> (0 5 10 15 I. a) </. a >> >> >> >> you can also count them >> >> >> >> (0 5 10 15 I. a) #/. a >> >> >> >> >> >> On Sun, Sep 24, 2017 at 3:19 PM, Skip Cave <s...@caveconsulting.com> >> >> wrote: >> >> >> >>> So that brings up another interesting problem. How >> >>> to >> >>> box ranges >> >>> ? >> >>> : >> >>> >> >>> ]a=:>:?~20 >> >>> 9 12 2 20 14 11 13 15 7 5 3 19 8 1 4 16 10 6 18 17 >> >>> >> >>> 0 5 10 15 brng a >> >>> ┌─────────┬──────────┬──────────────┬──────────────┐ >> >>> │2 5 3 1 4│9 7 8 10 6│12 14 11 13 15│20 19 16 18 17│ >> >>> └─────────┴──────────┴──────────────┴──────────────┘ >> >>> >> >>> S >> >>> o how do you construct brng? >> >>> >> >>> Skip Cave >> >>> Cave Consulting LLC >> >>> >> >>> On Sun, Sep 24, 2017 at 2:09 PM, 'Mike Day' via Programming < >> >>> programm...@jsoftware.com> wrote: >> >>> >> >>>> I was about to send something when we had to go out for a bit... >> >>>> >> >>>> My best so far is >> >>>> ((] #~ 1 = I.)~ (0 _1 + ])) ~ >> >>>> assuming I've copied it correctly... >> >>>> >> >>>> Mike >> >>>> >> >>>> Please reply to mike_liz....@tiscali.co.uk. >> >>>> Sent from my iPad >> >>>> >> >>>>> On 24 Sep 2017, at 18:45, Skip Cave <s...@caveconsulting.com> >> wrote: >> >>>>> >> >>>>> Marshall, >> >>>>> >> >>>>> Wow! that is neat! I hadn't really understood dyadic I. but this >> >> forced >> >>>> me >> >>>>> to try to understand it: >> >>>>> >> >>>>> 8 100 (]#~1=I.) 2 10 45 300 >> >>>>> >> >>>>> 10 45 >> >>>>> >> >>>>> 8 100 I. 2 10 45 300 >> >>>>> >> >>>>> 0 1 1 2 >> >>>>> >> >>>>> 1 = 8 100 I. 2 10 45 300 >> >>>>> >> >>>>> 0 1 1 0 >> >>>>> >> >>>>> (1 = 8 100 I. 2 10 45 300) # 2 10 45 300 >> >>>>> >> >>>>> 10 45 >> >>>>> >> >>>>> 8 100 I. 2 10 45 300 >> >>>>> >> >>>>> 0 1 1 2 >> >>>>> >> >>>>> 1 8 100 I. 2 10 45 300 >> >>>>> >> >>>>> 1 2 2 3 >> >>>>> >> >>>>> 1 8 100 I. 2 10 45 300 450 >> >>>>> >> >>>>> 1 2 2 3 3 >> >>>>> >> >>>>> 1 8 100 350 I. 2 10 45 300 450 >> >>>>> >> >>>>> 1 2 2 3 4 >> >>>>> >> >>>>> 1 8 100 350 I. 300 2 45 10 450 >> >>>>> >> >>>>> 3 1 2 2 4 >> >>>>> >> >>>>> So now I'm getting a feel for I. Reading the terse Vocabulary >> >>> description >> >>>>> of dyadic I. didn't help much in making the I. functionality clear, >> >> at >> >>>>> least for me. The NuVoc description wasn't much more helpful, but >> the >> >>>>> examples after the description in Nuvoc cleared things up >> >> considerably. >> >>>>> >> >>>>> Also, the dissect tool was very helpful in figuring out how J parsed >> >>> the >> >>>>> whole dyadic verb. Who is the author of the dissect tool? That's a >> >>> great >> >>>>> help in learning J. >> >>>>> >> >>>>> Skip >> >>>>> >> >>>>> Skip Cave >> >>>>> Cave Consulting LLC >> >>>>> >> >>>>> On Sun, Sep 24, 2017 at 3:14 AM, Marshall Lochbaum < >> >>> mwlochb...@gmail.com >> >>>>> >> >>>>> wrote: >> >>>>> >> >>>>>> Try >> >>>>>> >> >>>>>> rng =: ] #~ 1=I. >> >>>>>> >> >>>>>> it's about half as fast because I. is not very well-optimized. >> >>>>>> >> >>>>>> Marshall >> >>>>>> >> >>>>>>> On Sun, Sep 24, 2017 at 02:29:31AM -0500, Skip Cave wrote: >> >>>>>>> Here's a function I came up with to select numbers in a vector >> >> which >> >>>> are >> >>>>>>> within some range. >> >>>>>>> >> >>>>>>> Find all the numbers between 10 & 100 in a set of random numbers >> >>> from 0 >> >>>>>> to >> >>>>>>> 200: >> >>>>>>> >> >>>>>>> >> >>>>>>> rng =. 4 : '((({.x)</y)*.(({:x)>/y))#y' >> >>>>>>> >> >>>>>>> >> >>>>>>> 10 100 rng ?50$200 >> >>>>>>> >> >>>>>>> 89 91 32 85 84 27 31 20 28 66 96 93 22 85 39 97 82 35 90 67 34 35 >> >> 67 >> >>> 95 >> >>>>>> 50 >> >>>>>>> >> >>>>>>> >> >>>>>>> Between 120 & 180: >> >>>>>>> >> >>>>>>> >> >>>>>>> 120 180 rng ?50$200 >> >>>>>>> >> >>>>>>> 148 163 133 165 150 178 121 146 161 179 >> >>>>>>> >> >>>>>>> >> >>>>>>> Is there a more concise/efficient way to select numbers in a >> range? >> >>>>>>> >> >>>>>>> Skip Cave >> >>>>>>> Cave Consulting LLC >> >>>>>>> ------------------------------------------------------------ >> >>> ---------- >> >>>>>>> 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/forum >> s.htm >> >>>> >> >>> ------------------------------------------------------------ >> ---------- >> >>> For information about J forums see http://www.jsoftware.com/forum >> s.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