我已经定义了一个带有地图的函数。我想使用解构来访问这些值。但是,我还想检查是否有任何使用过的键。
所以,例如像......
(defun func1 [{:keys [a b c] :rest rest}]
(println a b c)
(println rest))
(func1 {:a 1 :b 2 :c 3 :d 4})
这将打印
1 2 3
4
我想要这个的原因是,如果 rest 不为空,这可能是一个错误,我想发出信号。我知道 :as,我可以使用它。但是我需要将有效密钥列表存储两次。
我错过了什么吗?
菲尔