请在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)都有使用,我认为在将来不会成为问题。

我认为可能让人困惑的地方是,它在符号命名类时用于分离外部类和嵌套类。这可能表明它在符号中很常见,但在某些上下文中是有意义的,但这些上下文可能与您的需求不同。
非常感谢。这一切都很好,非常有帮助。(是的,那种情况不会干扰我打算和过去的用法。)
...