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

欢迎!请参阅关于页面获取更多关于如何使用本站的信息。

+7
语法和reader
已关闭

关键字文档(在https://clojure.org/reader页面)特别声明,'.'不能作为关键字名称的一部分;然而'.'特别有用。例如,几个Clojure的Web框架使用关键字来表示HTML元素,使用CSS选择器语法(例如::div.important 等同于 :div { :class "important" })。

).

无论如何,'.'的使用没有被reader检查,并且一般是很有用的。

我希望在文档中正式允许'.'(在关键字中)。此外,我还希望看到关于允许哪些标点符号的更详细的信息(我的Web框架在关键字中使用'&'、'?'和'>'等特殊目的...当前reader实现不允许这些,但如果未来的reader拒绝这样做,我想现在就了解这些)。

备注:已关闭,说明:已更新文档,删除了“它们不能包含'.'或名称类。”

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报告)
...