2011-08-28 36 views
6

scala.Predef aşağıdaki kodu içerir:

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

Standart kütüphaneden kolaylıkla ayrılabilen paketlere bağımlılık yarattığı düşünüldüğünde birisi niçin gerekli olduğunu anladı mı?

cevap

4

src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala'a bakın ve bir XML hazırlamasının ayrıştırılması sonucunu izleyin.

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

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

İdeal bu scala.xml altında bir yerde hareket olur; Deneyin ve ne kırıldığını görün.