obj がハッシュテーブルであれば #t を返し、そうでなければ #f を返す。
hashtable 内に格納されているキーの個数を正確な整数オブジェクトとして返す。
hashtable 内で key に対応づけられている値を返す。 hashtable にキーに関する対応が格納されていない場合は default が返される。
key と obj が対応づけられるように hashtable を変更する。このとき、新しい対応を追加するか既存の key への対応づけを置き換えるかする。結果として未規定値を返す。
hashtable 内の key の対応関係を取り除き未規定値を返す。
hashtable に key に関する対応があれば #t を返し、そうでなければ #f を返す。
proc は引き数をひとつ取り、値をひとつ返す手続きであり、hashtable を変更するべきではない。 hashtable-update! 手続きは hashtable 内で key に対応づけられている値があればその値に、key に対応づけられている値がない場合には default に proc を適用する。その後、 hashtable は key に proc が返した値が対応づけられたように変更される。
hashtable-update! の振る舞いは以下のコードと等価である。しかし、実装系が同一のキーの探索を複数回行なうことを避けられる場合には、より効率よく実装することができることもある。
(hashtable-set! hashtable key (proc (hashtable-ref hashtable key default)))
hashtable の複製を返す。 mutable 引き数が与えられ、それが真であった場合、戻り値のハッシュテーブルは変更可能である。そうでない場合は変更不能である。
hashtable からすべての対応関係を取り除き未規定値を返す。
第二引き数が与えられた場合には、現在のハッシュテーブルの容量がおよそ k 要素に再設定される。
hashtable 内のキーをすべてベクタにして返す。ベクタの内容の順序は規定されていない。
hashtable のキーのベクタと、それに対応する値のベクタの二値を返す。
(let ((h (make-eqv-hashtable))) (hashtable-set! h 1 ’one) (hashtable-set! h 2 ’two) (hashtable-set! h 3 ’three) (hashtable-entries h)) ⇒ #(1 2 3) #(one two three) ; two return values