在瀏覽斯卡拉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
這是什麼意思?該課程將在多個包中提供?
在瀏覽斯卡拉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
這是什麼意思?該課程將在多個包中提供?
這是基本相同
package scala.util.parsing.combinator.syntactical
import scala.util.parsing._
import scala.util.parsing.combinator._
...
因此,通過「堆疊」包你寫的,你可以在範圍上獲得的超級套餐的方式。另見these answers。
[更新]這裏是由馬丁·奧德斯基這個話題寫一篇新文章:http://www.artima.com/scalazine/articles/chained_package_clauses_in_scala.html
的Scala reference提到(第9章):
編譯單元包括容器,進口條款,和 類和對象定義的序列的,whichmay由包子句之前。
編譯單元
package p1;
. . .
package pn;
stats
開始與一個或多個包的條款等價於嵌套包由包裝
package p1 { . . .
package pn {
stats
} . . .
}