next up previous contents index
Next: Iterating through all elements Up: Higher Order Functions Previous: Selecting elements from a   Contents   Index


Searching for an element in a given list: `locate'

The abstraction `locate' returns the value `true' if the given list contains an element fulfilling the condition defined by the predicate function.

The abstraction `locatex' difers from `locate' only by returning the element found in the list instead of `true' if it was found.


\begin{lstlisting}[language=Scm]{}
(define locate (lambda(pred l)
(if (nullp l)...
... false
(if (pred (car l))
(car l)
(locatex pred (cdr l))))))
\end{lstlisting}

\begin{lstlisting}[language=Scm]{}
(define l1 (cons one
(cons two
(cons thre...
...rue
(bdisp! (locate (lambda(x) (equaln x five)) l1))
--> false
\end{lstlisting}


domain access counter Georg P. Loczewski 2004-03-05