Clojure 2024 状态调查中分享您的想法!

欢迎!请查看关于页面获取更多关于如何使用本站的信息。

+1
语法和读取器

我偶然定义了一个这样的函数

(defn foo [{:keys [bar :as lol]}] lol)

很明显,解构是错误的,它应该是

(defn foo [{:keys [bar] :as lol}] lol)

我的问题是,这个解构错误应该由解构规范捕获吗?

1 答案

0

被选中
 
最佳答案

您可以在解构中使用关键字(在使用命名字符时最有用)。将`:as`视为特殊可能会令人惊讶并破坏现有代码。

`:keys`向量中可以拥有的元素由`core/ident?`控制,它保证了是`symbol?`或`keyword?`。

我刚刚发现
...