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

欢迎!请参阅关于页面了解如何使用此信息。

+4
文档
已关闭

在命名空间映射语法的部分中,中间的项目符号提到 :_/foo 会将关键字视为不具有映射的当前命名空间,允许在命名空间映射中包含未命名的键。所提供的示例不包括此行为,这导致许多人(我,整个 Discljord 服务器,以及我怀疑在更广泛的 Clojure 世界中更多的人)不知道这种行为。

我认为在示例中包含它将有助于使该行为明确且明显。例如

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

#: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(它没有意义)。

我不同意不应该有综合示例的参考文献,但我不会过多纠缠于此。

你能否接受在[怪符号](https://clojure.org/guides/weird_characters#_and_namespace_map_syntax)页面添加此功能?
很高兴为指南添加内容
好的,我很快会写一个PR。
...