[ library(lists) | The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]
memberchk(+Term, ?List)
Succeeds if Term is a member of the list List.
- +Term
- Prolog term.
- ?List
- List or a variable.
Description
Unifies Term with the first matching element of the list List.
If List is not instantiated, memberchk/2 binds List to a new partial
list containing an element Term.
The definition of this Prolog library predicate is:
memberchk(X,[X|_]) :- !.
memberchk(X,[_|T]):- memberchk(X,T).
This predicate does not perform any type testing functions.
Modes and Determinism
- memberchk(+, +) is semidet
- memberchk(+, -) is det
Fail Conditions
Fails if Term is not a member of the list List.
Resatisfiable
No.
Examples
Success:
memberchk(0,[1,B,2]). (gives B=0).
memberchk(1,[1,X]). (gives X=_g76).
memberchk(1,X), memberchk(2,X).
(gives X=[1,2|_g98]).
Fail:
memberchk(0,[1,2,3,4]).
See Also
member / 2