- (collect-mapping #!optional (comparator (make-default-comparator)))procedure
- (collect-hashmap #!optional (comparator (make-default-comparator)))procedure
Collects elements from a transduction into either a mapping or a hashmap with a given comparator. If no comparator is provided, the default comparator from SRFI-128 is used.
(import (only (srfi 128) make-default-comparator) (srfi 146 hash) transducers) (define hm (transduce list-fold (zip-list (list 'alpha 'beta 'gamma)) (collect-hashmap (make-default-comparator)) (list "asdf" "foo" "bar"))) ;; We convert to an alist here purely for the sake of demonstrating the inner values. ;; ;; Otherwise srfi-146 would just print something like #<srfi.146.hash#<hashmap>> (hashmap->alist hm) ; => (("foo" . beta) ("bar" . gamma) ("asdf" . alpha))
Note that you may find that the ordering of the final alist in the above example doesn't match 1:1 with how that hashmap is traversed locally. That is because no order is specified or assumed.