字母数字标识符和"$"字符



摘自Scala编程第6.10节(第151页):

用户程序中的标识符不应包含"$"字符,即使它将进行编译;如果他们这样做,可能会导致名称与Scala编译器生成的标识符发生冲突。

我确信这是原因之一,但为什么不阻止在字母数字标识符中使用"$"字符呢?

Scala编译器内部生成的一些标识符包含'$'字符。如果使用"$"字符创建新的标识符,则可能会与内部生成的字符发生冲突,从而导致混乱。OTOH,您有时需要使用"$"字符,无论是在需要访问内部生成的Scala字符的情况下(现在非常罕见),还是因为有人在您希望调用的Java代码中使用了这样的标识符(如果不鼓励的话,在合法的情况下)。

最新更新