| hashtable-ref(3scm) | Scheme Programmer's Manual | hashtable-ref(3scm) |
NAME
hashtable-ref - get a value from a hashtable
LIBRARY
(import (rnrs)) ;R6RS (import (rnrs hashtables)) ;R6RS
SYNOPSIS
(hashtable-ref hashtable key default)
DESCRIPTION
Returns the value in hashtable associated with key. If hashtable does not contain an association for key, default is returned.
RETURN VALUES
Returns a single object; either a value from an association in hashtable or the object default.
EXAMPLES
(define ht (make-eq-hashtable)) (hashtable-set! ht 'foo 'bar) (hashtable-ref ht 'foo #f) => bar (hashtable-ref ht 'bar #f) => #f
COMPATIBILITY
This procedure is unique to R6RS. Similar procedures exist in SRFI-69 and SRFI-125.
ERRORS
This procedure can raise exceptions with the following condition types:
- &assertion (R6RS)
- The wrong number of arguments was passed or an argument was outside its domain. In particular, hashtable should be a hashtable and key should be in the domain of the hashtable's hash and equal functions.
SEE ALSO
make-hashtable(3scm), hashtable-keys(3scm), hashtable-contains?(3scm)
STANDARDS
R6RS
HISTORY
This procedure first appeared in R6RS. An equivalent procedure already existed in SRFI-69 under the name hash-table-ref.
AUTHORS
This page is part of the scheme-manpages project. It includes materials from the RnRS documents. More information can be found at https://weinholt.se/scheme/manpages/.
BUGS
The following code pattern does not work if the hashtable's keys can be associated with the false object.
(cond ((hashtable-ref ht key #f) =>
(lambda (value)
(... do something with value ...)))
(else
... assume key is not in ht ...))
Use hashtable-contains?(3scm) to get around this problem.
| 2023-01-22 |