Next: , Previous: Adding or Setting Alist Entries, Up: Association Lists


5.6.11.3 Retrieving Alist Entries

assq, assv and assoc find the entry in an alist for a given key, and return the (key . value) pair. assq-ref, assv-ref and assoc-ref do a similar lookup, but return just the value.

— Scheme Procedure: assq key alist
— Scheme Procedure: assv key alist
— Scheme Procedure: assoc key alist
— C Function: scm_assq (key, alist)
— C Function: scm_assv (key, alist)
— C Function: scm_assoc (key, alist)

Return the first entry in alist with the given key. The return is the pair (KEY . VALUE) from alist. If there's no matching entry the return is #f.

assq compares keys with eq?, assv uses eqv? and assoc uses equal?.

— Scheme Procedure: assq-ref alist key
— Scheme Procedure: assv-ref alist key
— Scheme Procedure: assoc-ref alist key
— C Function: scm_assq_ref (alist, key)
— C Function: scm_assv_ref (alist, key)
— C Function: scm_assoc_ref (alist, key)

Return the value from the first entry in alist with the given key, or #f if there's no such entry.

assq-ref compares keys with eq?, assv-ref uses eqv? and assoc-ref uses equal?.

Notice these functions have the key argument last, like other -ref functions, but this is opposite to what what assq etc above use.

When the return is #f it can be either key not found, or an entry which happens to have value #f in the cdr. Use assq etc above if you need to differentiate these cases.