至于我_root_
关键字看起来很尴尬。它看起来像Python风格或黑客。
_root_.launch.Booster3
我想它可以被语言架构师改为像这样的
_.launch.Booster3
或者可能像使用global ::
的C#样式global::launch.Booster3
http://msdn.microsoft.com/en-us/library/cc713620.aspx
或
root.launch.Booster3
其中“root”将被视为关键字。
答案 0 :(得分:4)
_
是一个糟糕的选择,因为它是“任何适合”的占位符,而_root_
是但任何适合的东西。
root
是一个糟糕的选择,因为人们已经大概使用了root
- 添加新关键字可能会造成很大的破坏性。由于不鼓励使用_
各种名称,因此选择具有_
标识符的标识符具有特殊含义是最安全的事情之一。
global::
是一个糟糕的选择,因为global
和::
都是独立的标识符,不是保留的关键字。看起来您正在尝试将全局项目添加到包含其余包名称的列表中。在Scala中,::
是列表连接(cons);在名称空间中查找它比查找完全有效的_root_
稍微不寻常的标识符更为刺耳。
我同意_root_
看起来很尴尬(但请注意,它只会出现在包层次结构存在名称冲突的尴尬情况下)。但是这样的事情有充分的理由,现在它已经完成,需要一个非常非常有说服力的理由来改变它。