Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

rev_assoc

Lib.rev_assoc : ''a -> ('b * ''a) list -> 'b

Searches a list of pairs for a pair whose second component equals a specified value.

An invocation rev_assoc y [(x1,y1),...,(xn,yn)] locates the first (xi,yi) in a left-to-right scan of the list such that yi equals y. Then xi is returned. The lookup is done on an eqtype, i.e., the SML implementation must be able to decide equality for the type of y.

Failure

Fails if no matching pair is found. This will always be the case if the list is empty.

Example

> rev_assoc 2 [(1,4),(3,2),(2,5),(2,6)];
val it = 3: int

See also

Lib.assoc, Lib.assoc1, Lib.assoc2, Lib.mem, Lib.tryfind, Lib.exists, Lib.all