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。
...