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?`。

TIL
...