我想影射一些Predef成员并为他们介绍我自己的实现。我如何通知编译器应导入 my.own.Predef._ 而不是 scala.Predef._?
最佳答案
我见过的一种方法是通过链式包子句。
如果 my/own/package.scala
中的文件有,例如:
package my
package object own {
type ISeq[+A] = IndexedSeq[A]
val ISeq = IndexedSeq
}
然后 my.own
包或 my.own
的子包中的任何文件将自动导入 ISeq
就好像它来自 Predef
,如果您更改了文件顶部的包声明
package my.own.foo
到
package my.own
package foo
后一种形式称为 chained package clause .
This article (它使用链式包来更改 Seq
以使用不可变接口(interface))似乎表明您可以通过这种方式隐藏 scala.Predef
中的成员。
关于scala - 如何对项目中的所有文件使用自定义预定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32788610/