ich ein Makro für die Bindung variabel zu machen versuchten, wenn es unbind ist, sonst, wenn es als Lisp Makro Set-or-nconc nicht in der Lage zu bekommen arbeiten
, um seinen Wert anhängt binded wird(defmacro set-or-nconc (var &rest args)
`(,(if (and (boundp var) (not (null ,var)))
'nconc 'setq)
,var ,@args))
Die beabsichtigte Ausgabe wollte
(set-or-nconc i '(a b)) => '(a b)
i => '(a b)
(set-or-nconc i '(a b)) => '(a b a b)
i => '(a b a b)
ist aber mein definiert Makro funktioniert nicht besonders , wenn ich auf Null binded ist Sie jemand Ahnung, was ist das Problem mit diesem Makro?
Ja, es funktioniert, Vielen Dank! Ich werde es auch bald mit consing versuchen. – Sharad