在浏览Scala API的源代码时,我在scala/tags/R_2_8_0_final/src/library/scala/util/parsing/combinator/syntactical/StdTokenParsers.scala中遇到了这个包定义:
package scala.util.parsing
package combinator
package syntactical
Run Code Online (Sandbox Code Playgroud)
那是什么意思?该课程将在多个套餐中提供?
Lan*_*dei 55
这基本上是一样的
package scala.util.parsing.combinator.syntactical
import scala.util.parsing._
import scala.util.parsing.combinator._
...
Run Code Online (Sandbox Code Playgroud)
因此,通过以您编写的方式"堆叠"包,您可以获得范围内的超级包.另见这些答案.
[更新]以下是Martin Odersky撰写的关于此主题的新文章:http://www.artima.com/scalazine/articles/chained_package_clauses_in_scala.html
所述的Scala参考提到(第9章,第9.1节):
编译单元由一系列包装,import子句以及类和对象定义组成,它们可以在package子句之后.
编译单元
Run Code Online (Sandbox Code Playgroud)package p1; ... package pn; stats从一个或多个包子句开始相当于由包装组成的编译单元
Run Code Online (Sandbox Code Playgroud)package p1 { ... package pn { stats } ... }
另请参阅在嵌套包上的文件和命名空间中组织代码.
(来自Scala编程:可伸缩性=功能编程+对象作者:Dean Wampler,Alex Payne,第44页,第2章)