我正在Clojure做一个小宠物项目。我有一个函数,我通过varargs:
(defn foor [bar & args]
(let new-args (custom-transform args)]
(do-something new-args))))))
但是,do-something
期待varargs,而不是列表对象。在custom-transform
(defn custom-transform [& args]
(if vars vars nil))
如何在应用转换后保留" vararg"我的args?
答案 0 :(得分:1)
我认为应该应该做的伎俩:
(apply do-something new-args)
您的问题并非特定于varargs。你想要做的是调用do-something
,传递数组的元素作为函数的参数。这恰好是apply
所做的。