3
我想对Predef的一些成员进行描述,并为他们介绍我自己的实现。我如何通知编译器my.own.Predef._应该被导入而不是scala.Predef._?如何使用项目中的所有文件的自定义predef
我想对Predef的一些成员进行描述,并为他们介绍我自己的实现。我如何通知编译器my.own.Predef._应该被导入而不是scala.Predef._?如何使用项目中的所有文件的自定义predef
我见过这种做法的一种方式是通过链式包装子句。
如果my/own/package.scala
文件有,例如:
package my
package object own {
type ISeq[+A] = IndexedSeq[A]
val ISeq = IndexedSeq
}
然后在包my.own
或my.own
子包的任何文件会自动导入ISeq
像从Predef
来,IF你改变封装声明位于文件顶部
package my.own.foo
至
package my.own
package foo
后一种形式称为chained package clause。
This article(使用链接包更改Seq
以使用不可变接口)似乎表明您可以以这种方式隐藏scala.Predef
中的成员。
不幸的是,你需要更新每个文件的包行来使用它,移动到包链,这不是一个最佳实践,所以你可能只需要为'immutable.Seq'添加import。 –