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

欢迎!请参阅 关于 页面以了解更多关于其工作方式的信息。

+1
语法和阅读器

我恰好定义了一个这样的函数

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

显然解构是错误的,它应该是这样的

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

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

1 答案

0

被选中
 
最佳答案

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

可以在 `:keys` 向量中拥有的事物受制于 `core/ident?`,它表示 `symbol?` 或 `keyword?`。

我知道了
...