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

欢迎!关于此页面的更多信息,请查看 关于 页面。

0 投票
Clojure
编辑

这个帖子的原始版本询问了管道符号和美元符号,但对于管道符号的答案在这里: https://ask.clojure.org/index.php/11627/the-pipe-char-considered-valid-symbol-constituent-character

然而,我仍然想知道,美元符号 $ 并没有明确列出为符号名称的合法字符。
https://clojure.org/reference/reader#_symbols
实际上它可以在符号中使用。
(def $ 42) $ ;==> 42 (defn a$b [a b] (or a b)) (a$b nil 'foo) ;==> foo
(暂时不考虑风格或实用主义上使用 $ 在符号名称中的问题,例如担心会混淆他人)是否有过技术性原因避免使用它?(例如担心会混淆他人)

比如,使用 $ 作为符号可能会引起问题的边缘情况吗?或者,将来 Clojure 是否可能将 $ 用作特殊语法?

(我确实在以前使用过 $ 作为符号名称的。)

1 答案

+1 投票

$ 符号在许多地方(如Datomic)都被使用,我认为未来这不会成为问题。

我觉得可能让人困惑的地方是它在符号名称中用来分隔外部和嵌套类。这也许说明它在符号中广泛使用,但在某些上下文中才有意义,而那些上下文可能和你的需求不重叠。
非常感谢。这些都是我们需要了解并非常有帮助的。是的,那种情况不会干扰我的期望和以往的使用。
...