2
有沒有一種方法可以傳遞給函數的屬性列表作爲參數在一個類似的方式:我可以將屬性列表作爲&鍵參數傳遞給函數嗎?
(defun sum (&key x y) (+ x y))
(sum '(:x 10 :y 20))
有沒有一種方法可以傳遞給函數的屬性列表作爲參數在一個類似的方式:我可以將屬性列表作爲&鍵參數傳遞給函數嗎?
(defun sum (&key x y) (+ x y))
(sum '(:x 10 :y 20))
要撥打與參數從列表中使用APPLY未來的功能:
CL-USER > (apply #'sum '(:x 10 :y 20))
30
而且這個工程:
CL-USER > (apply #'sum :x '(10 :y 20))
30
CL-USER > (apply #'sum :x 10 '(:y 20))
30
CL-USER > (apply #'sum :x 10 :y '(20))
30
CL-USER > (apply #'sum :x 10 :y 20 '())
30
注意變量call-arguments-limit
仍然適用。實現支持的函數調用中的參數數量通常是有限的。因此,應用具有長參數列表的函數可能無效。請注意,例如在ABCL中,此值僅爲50(50)。