请在2024年Clojure调查问卷中分享您的想法!

欢迎!请查看关于页面了解如何工作的更多信息。

+4
文档
已关闭

在命名空间映射语法的部分中,中间的项目符号提到, :_/foo会将关键字视为不存在于映射的当前命名空间,以便在命名空间映射中包含未命名的键。给出的示例没有包括这种行为,这使得许多人(包括我,整个Discljord服务器,以及我怀疑在更广泛的Clojure社区中许多人)不知道这种行为。

我认为在示例中包含它将有助于使这种行为具体而明显。例如像这样:

例如,以下带有命名空间语法的map字面量

#:person{:_/species "Human"
         :first "Han"
         :last "Solo"
         :ship #:ship{:name "Millennium Falcon"
                      :model "YT-1300f light freighter"}}

被解析为

{:species "Human"
 :person/first "Han"
 :person/last "Solo"
 :person/ship {:ship/name "Millennium Falcon"
               :ship/model "YT-1300f light freighter"}}

我已经签署了CA并可以打开一个PR,如果它被接受。

已关闭,注释为:指南已更新

1 答案

0

按照设计,参考页面不包含全面的特征示例集。此处示例的目标是展示命名空间映射语法最常见的使用方法。所以,我认为在这里不需要添加:_/foo(这是没有意义的)。

by
我不同意参考资料不应该包含全面示例的说法,但我也不会对此过分强调。

您是否接受在[奇怪字符](https://clojure.org/guides/weird_characters#_and_namespace_map_syntax)页面添加此功能?
by
当然很高兴将东西添加到指南中
by
好的,我会很快写一个PR
...