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

欢迎!请参阅 关于 页面以了解更多有关该功能的信息。

+7
语法和读取器
已关闭

关键词文档(在 https://clojure.org/reader 页面)特别说明,不允许保留字名称部分包含 '.';但是 '.' 特别有用。例如,几个 Clojure 的 Web 框架使用关键词来表示 HTML 元素,使用 CSS 选择器语法(例如,:div.important 等价于)

).

无论如何,读取器不会检查 '.' 的使用,并且这在一般情况下非常有用。

我希望看到 '.' 在文档中正式允许(在我自己的 Web 框架中,我使用 '&'、'?' 和 '>' 在关键词内部进行各种操作 ... 如果未来的读取器拒绝它,我希望现在就知道)。

带注解关闭:已更新文档,删除“它们不能包含 '.' 在名称部分或名称类中。”对于关键词

5 答案

0

评论由:hlewisship 提出

为了澄清,Hiccup 和 Cascade 都使用含有 '#' 和 '.' 的关键词,Cascade 更进一步,使用 '&'(表示 HTML 实体)、'>' 和(可能在未来)'?'。

0

评论由:devn 发表

我认为 EDN 规范减轻了一些担忧,但到目前为止,clojure.org 的阅读器文档并未反映 EDN 描述中使用的语言。EDN 目前处于什么状态?能否将 github 页面上的描述拉到 clojure.org 上?

参考资料
- https://github.com/edn-format/edn#keywords
- https://clojure.org/reader#The Reader--可扩展数据表示法(EDN)

0

评论由:hlewisship 提出

不幸的是,EDN 规范没有提到 '>'。

0

评论由:vitoshka 发表

值得注意的是,最常用的前缀字符 '#' 是允许作为关键词的一部分的读取器,但其他前缀字符 '```', '@' 和 '~' 则不允许。这些字符都不能作为确切的符号的一部分。

0
参考: https://clojure.atlassian.net/browse/CLJ-889 (由 hlewisship 报告)
...