scala.Predef中$ scope的目的是什么?

时间:2011-08-28 17:37:33

标签: xml scala scope library-design

scala.Predef包含以下代码:

// Apparently needed for the xml library
val $scope = scala.xml.TopScope

是否有人弄清楚为什么有必要,考虑到它会创建对可能很容易从标准库拆分的包的依赖?

1 个答案:

答案 0 :(得分:4)

查看src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala,以及解析XML文字的结果。

scala -Xprint:parser -e '<node/>'

new _root_.scala.xml.Elem(null, "node", _root_.scala.xml.Null, $scope)

理想情况下,这会移到scala.xml下的某处;尝试一下,看看有什么打破。