I don't know whether you'r only looking for a tacit function, but this
would also likely work if fold is unavailable for you (untested):

{{ for_val. y do. if. f val do. val_index{y return. end. end.}} coords

Jan-Pieter

On Fri, 21 Oct 2022, 19:51 Ed Gottsman, <edward.j.gotts...@gmail.com> wrote:

> Pascal,
>
> Your original solution is perfect for me—I don’t happen to need the
> index.  And there may in fact be no items with f = 1.
>
> Very clever: it gets a place of honor in the flashcard deck :-).
>
> Many thanks.
>
> Ed
>
> Sent from my iPad
>
> > On Oct 21, 2022, at 12:46 PM, 'Pascal Jasmin' via Programming <
> programm...@jsoftware.com> wrote:
> >
> > if you want the index rather than the coordinate values, then
> >
> > (1 i.~ f) y
> >
> > will "short circuit" to the first 1
> >
> > and
> >
> > ({~ 1 i.~ f)
> >
> > may be faster to get first coordinates than my original solution, though
> errors if there are no items with 1 = f
> >
> >
> >
> >
> > On Friday, October 21, 2022 at 12:55:41 p.m. EDT, 'Pascal Jasmin' via
> Programming <programm...@jsoftware.com> wrote:
> >
> >
> >
> >
> >
> > }.^:(0 = f@{.)^:_
> >
> > will return the list with the head being the first f not equal 0.
> >
> >
> >
> >
> >
> >
> > On Friday, October 21, 2022 at 12:19:41 p.m. EDT, Ed Gottsman <
> edward.j.gotts...@gmail.com> wrote:
> >
> >
> >
> >
> >
> > Hi.  I’m blanking on something basic and research isn’t helping.  When
> the blindingly obvious solution is revealed I will blame a combination of
> sleep deprivation and senescence.
> >
> > I’ve got a long list of coordinates ordered by desirability.  I want to
> invoke f (a custom script) with each coordinate in turn.  f may return 0
> (failure), in which case I want to invoke it again with the next
> coordinate.  When f (eventually) returns 1, I want to terminate—the
> remainder of the coordinates should not be processed.  (Note that the very
> first invocation of f may return 1.)
> >
> > This *almost* feels like ^: in its Do While form.  Almost.  It also
> feels like SCs around list operations (though they seem to be limited to
> primitives).
> >
> > Help.
> >
> > Many thanks.
> >
> > Ed
> >
> > Sent from my iPad
> > ----------------------------------------------------------------------
> > 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