X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=hash.lisp;fp=hash.lisp;h=fb4c4fa9ced427a96f94e94f6ac5d827a49f47fa;hp=98e9439d27b6f2bb637750ffd437e57d6fcf2209;hb=e44c2574e34a089217ebe2b59bccba9cc10bbd0f;hpb=469b6701df91f6a97a862d6d1b3dd2893a923c2e diff --git a/hash.lisp b/hash.lisp index 98e9439..fb4c4fa 100644 --- a/hash.lisp +++ b/hash.lisp @@ -19,6 +19,23 @@ ;;; hashs +(defun print-hash (h &key (stream *standard-output*) + key-transform-fn value-transform-fn + (prefix "") (divider " -> ") (terminator "~%")) + (maphash #'(lambda (k v) + (format stream "~A~S~A~S~%" + prefix + (if key-transform-fn + (funcall key-transform-fn k) + k) + divider + (if value-transform-fn + (funcall value-transform-fn v) + v) + (when terminator (format stream terminator))) + h) + h) + (defun print-hash (h &optional (stream *standard-output*)) (maphash #'(lambda (k v) (format stream "~S -> ~S~%" k v)) h) h)