Plaster
New
List
Login
common-lisp
default
anonymous
2021.03.17 18:24:34
(defun moon-map-rooms (map-fun community room function &optional (exclude nil)) (funcall map-fun community room (lambda (room) (let ((%room-name (pkv room :name)) (%room-id (pkv room :id))) (funcall function %room-name %room-id))) (if exclude (set-difference (rooms community) exclude :test #'string= :key (lambda (x) (typecase x (list (pkv x :id)) (string x)))) (rooms community))))
Raw
Annotate
Repaste
Edit