Plaster
New
List
Login
common-lisp
default
anonymous
2021.06.28 09:10:48
(defmacro add-key-value (key value alist) `(push (cons ,key ,value) ,alist)) (defmacro add-key-value2 (key value alist) `(setf ,alist (acons ,key ,value ,alist))) (defparameter *a* nil) ; => NIL (add-key-value "foo" "bar" *a*) ; => (("foo" . "bar")) (add-key-value "baz" "qux" *a*) ; => (("baz" . "qux") ("foo" . "bar")) (defparameter *b* nil) ; => NIL (add-key-value2 "foo" "bar" *b*) ; => (("foo" . "bar")) (add-key-value2 "baz" "qux" *b*) ; => (("baz" . "qux") ("foo" . "bar"))
Raw
Annotate
Repaste
Edit