MathGroup Archive 1999

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Early out with Map?


Oscar,

Why don't you use the function Position[]? For example,

Position[children, a_ /; testChild[a], 1, 1]

will return either the position of the first element of children which
satisfies testChild, or else it will return an empty list if no elements of
children satisfy the test. Turning this into a True False statement isn't
difficult.

Carl Woll
Dept of Physics
U of Washington

Oscar Stiffelman wrote:

> Hi,
>
> Is it possible to interrupt Map before it reaches then end of the list?
>
> For example, how would I convert the following from procedural to
> functional?
>
> (* This is the procedural version *)
> foundSolution = False;
> For[i =1, i <= numChildren && ! foundSolution, i++,
>     If[testChild[children[[i]]],
>         foundSolution = True;
>       ];
> ];
> foundSolution
>
> (*
> * This keeps going until it reaches the end of the list.
> * I would prefer to return as soon as testChild returns True
> *)
> Or @@ Map[testChild, children]
>
> (*
> * This does not actually return
> *)
> Map[If[testChild[#], Return[True], False]&, children]





  • Prev by Date: Re: Fourier and FFT: Powers of 2 only?
  • Next by Date: SYMBOLIC Finite Differences
  • Previous by thread: Early out with Map?
  • Next by thread: RE: Early out with Map?