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/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

Reply via email to