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

时间:2012-01-13 14:58:35

标签: scala

Scala编程部分6.10(页151):

  

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

我确定这是一个原因,但为什么不阻止在字母数字标识符中使用'$'字符?

1 个答案:

答案 0 :(得分:8)

Scala编译器内部生成的一些标识符包含“$”字符。如果使用“$”字符创建新标识符,则可能会与内部生成的字符发生冲突,然后出现混乱。 OTOH,你有时需要'$'字符,要么在那些(现在非常罕见的)场合需要访问内部生成的Scala字符,要么是因为有人在你希望调用的Java代码中使用了这样的标识符(它是合法的,如果也气馁了。)