2015-09-25 31 views

回答

4

我见过这种做法的一种方式是通过链式包装子句。

如果my/own/package.scala文件有,例如:

package my 
package object own { 
    type ISeq[+A] = IndexedSeq[A] 
    val ISeq = IndexedSeq 
} 

然后在包my.ownmy.own子包的任何文件会自动导入ISeq像从Predef来,IF你改变封装声明位于文件顶部

package my.own.foo 

package my.own 
package foo 

后一种形式称为chained package clause

This article(使用链接包更改Seq以使用不可变接口)似乎表明您可以以这种方式隐藏scala.Predef中的成员。

+0

不幸的是,你需要更新每个文件的包行来使用它,移动到包链,这不是一个最佳实践,所以你可能只需要为'immutable.Seq'添加import。 –

相关问题