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(这不会有意义)。

by
我不同意不应该有详尽示例的主张,但我不会碟碟不休。

你会接受将此功能添加到[怪异字符](https://clojure.org/guides/weird_characters#_and_namespace_map_syntax)页面吗?
by
很乐意为指南添加内容
by
好的,我很快会写一个PR。
...