欢迎!请参阅关于页面以了解此工作的更多信息。
这篇帖子的原始版本询问了管道符号和美元符号,但关于管道符号的回答在这里: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 忽略是否使用`$`在符号名称中在风格上或实用上是否合适(例如,因为担心混淆他人)的技术原因(例如,因为担心混淆他人),避免使用`$`是否存在技术原因?
$
(def $ 42) $ ;==> 42 (defn a$b [a b] (or a b)) (a$b nil 'foo) ;==> foo
例如,是否存在在符号中使用`$`会导致问题的边缘情况?或者,Clojure将来可能会将`$`作为特殊语法使用吗?
(实际上,我过去曾在符号名称中使用`$。)
$符号在许多地方(如Datomic)都有使用,我认为在将来不会成为问题。