ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 14 Conses 14.2 Dictionary of Conses
14.2.39 rassoc, rassoc-if, rassoc-if-not | Function
  Syntax: rassoc item alist `&key` key test test-not entry rassoc-if predicate alist `&key` key entry rassoc-if-not predicate alist `&key` key entry Arguments and Values: item - an object. alist - an association list. predicate - a designator for a function of one argument that returns a generalized boolean. test - a designator for a function of two arguments that returns a generalized boolean. test-not - a designator for a function of two arguments that returns a generalized boolean. key - a designator for a function of one argument, or nil. entry - a cons that is an element of the alist, or nil. Description: rassoc, rassoc-if, and rassoc-if-not return the first cons whose cdr satisfies the test. If no such cons is found, nil is returned. If nil appears in alist in place of a pair, it is ignored. Examples:
       (setq alist '((1 . "one") (2 . "two") (3 . 3)))
       ((1 . "one") (2 . "two") (3 . 3))
       (rassoc 3 alist)  (3 . 3)
       (rassoc "two" alist)   NIL
       (rassoc "two" alist :test 'equal)  (2 . "two")
       (rassoc 1 alist :key #'(lambda (x) (if (numberp x) (/ x 3))))  (3 . 3)
       (rassoc 'a '((a . b) (b . c) (c . a) (z . a)))  (C . A)
       (rassoc-if #'stringp alist)  (1 . "one")
       (rassoc-if-not #'vectorp alist)  (3 . 3)
  See Also: assoc, Section 3.6 Traversal Rules and Side Effects Notes: The `:test-not` parameter is deprecated. The function rassoc-if-not is deprecated. It is possible to rplaca the result of rassoc, provided that it is not nil, in order to "update" alist. The expressions
       (rassoc item list :test fn)
  and
       (find item list :test fn :key #'cdr)
are equivalent in meaning, except when the `item` is nil and nil appears in place of a pair in the alist. See the function assoc. Allegro CL Implementation Details: None.

© Franz Inc. All Rights Reserved - File last updated 2022-07-25