我有這樣如何在cl-defun togather中使用&key和&rest?
(cl-defun foo (a b c d e &rest f)
nil)
參數c
,d
和e
功能是時間nil
80%。
爲了使它看起來更好,我這樣做:
(cl-defun foo (a b &rest f &key c d e &allow-other-keys)
nil)
當不提供c
,d
和e
,它的罰款。
但是,如果使用其中之一,f
會得到錯誤的參數。 例如:
(foo 1 2 :c 6 3 4 5)
;; ==> expected: a=1, b=2, c=6, f= (3 4 5)
;; ==> real case: a=1, b=2, c=6, f= (:c 6 3 4 5)