欢迎!有关如何操作的更多信息,请参阅关于页面。
关于关键词的文档(在https://clojure.org/reader页面上)明确指出,'.'不允许作为关键词名称的一部分;然而'.'非常有用。例如,多个用于Clojure的Web框架使用关键词表示HTML元素,使用CSS选择器语法(即::div.important等价于
无论如何,读者不检查'.'的使用,并且它通常是很有用的。
我希望'.'能够正式允许(在文档中)。此外,我还希望看到哪些标点符号允许被列出(我的Web框架在关键词中使用'&'、'?'和'>'用于各种目的...当前的读者实现并未禁止这些,但如果未来的读者将拒绝它,我希望能现在就得知)。
评论由:hlewisship
为了澄清,Hiccup和Cascade都使用包含'#'和'.'的关键词。Cascade更进一步,使用'&'(用于表示HTML实体)、'>'和(可能在未来)'?'。
评论者:devn
我认为EDN规范缓解了一些担忧,但至今clojure.org的reader文档尚未反映EDN描述中的语言。EDN的现状如何?能否将GitHub页面上的描述拉到clojure.org上?
参考资料- https://github.com/edn-format/edn#keywords- https://clojure.org/reader#The 读取器--可扩展数据符号(edn)
不幸的是,EDN规范没有提到'>'。
评论者:vitoshka
值得注意的是,最常见的前缀字符'#'在关键字中被读取器允许,但其他前缀字符'`', '@' 和 '~' 是不允许的。这些字符都不允许作为符号的组成部分。