【问题标题】:What's the purpose of $scope in scala.Predef?scala.Predef 中 $scope 的目的是什么?
【发布时间】:2011-08-28 17:37:33
【问题描述】:

scala.Predef 包含以下代码:

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

考虑到它创建了对可能很容易从标准库中分离出来的包的依赖关系,有人弄清楚为什么它是必要的吗?

【问题讨论】:

    标签: xml scala scope library-design


    【解决方案1】:

    看看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 下的某个位置;试一试,看看有什么问题。

    【讨论】:

      猜你喜欢
      • 2017-05-02
      • 2014-01-19
      • 2011-06-19
      • 2020-04-02
      • 2014-09-25
      • 2014-08-13
      • 1970-01-01
      • 2013-09-07
      • 2015-01-14
      相关资源
      最近更新 更多