ClojureScript 似乎不完全支持将 :arglists 元数据设置到函数中。特别是,当真实参数列表包含 '&' 时,它似乎会失败。
Clojure 中,
(:arglists (meta (defn f {:arglists '([x])} [& a] a)))
返回 ([x])。但在 ClojureScript 中,它返回 ([& a])
请注意,简单的形式在工作
(:arglists (meta (defn f {:arglists '([x])} [a] a)))
在两个环境中都返回 ([x])
(在 ClojureScript 1.9.908 和 Clojure 1.9.0-alpha17 上测试)