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

欢迎!有关如何操作的更多信息,请参阅关于页面。

+7
语法和读取程序
已关闭

关于关键词的文档(在https://clojure.org/reader页面上)明确指出,'.'不允许作为关键词名称的一部分;然而'.'非常有用。例如,多个用于Clojure的Web框架使用关键词表示HTML元素,使用CSS选择器语法(即::div.important等价于

).

无论如何,读者不检查'.'的使用,并且它通常是很有用的。

我希望'.'能够正式允许(在文档中)。此外,我还希望看到哪些标点符号允许被列出(我的Web框架在关键词中使用'&'、'?'和'>'用于各种目的...当前的读者实现并未禁止这些,但如果未来的读者将拒绝它,我希望能现在就得知)。

注:关闭:在文档中删除“它们不能在名称部分或名称类中包含'.'”针对关键词

5 回答

0

评论由:hlewisship

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

0
by

评论者:devn

我认为EDN规范缓解了一些担忧,但至今clojure.org的reader文档尚未反映EDN描述中的语言。EDN的现状如何?能否将GitHub页面上的描述拉到clojure.org上?

参考资料
- https://github.com/edn-format/edn#keywords
- https://clojure.org/reader#The 读取器--可扩展数据符号(edn)

0
by

评论由:hlewisship

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

0
by

评论者:vitoshka

值得注意的是,最常见的前缀字符'#'在关键字中被读取器允许,但其他前缀字符'`', '@' 和 '~' 是不允许的。这些字符都不允许作为符号的组成部分。

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