scala - 如何对项目中的所有文件使用自定义预定义

标签 scala import

我想影射一些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/

相关文章:

scala - Spark scala RDD遍历

python - 如何从该类包含的类中导入类

python - 在 Jupyter Notebook 中导入模块 - 路径

scala - 为什么 json4s 需要一个 Scala 编译器作为运行时依赖

scala - Spark数据集解压函数

scala - Scala Future 的优雅处理[任一]]

python - 为什么有时我可以使用嵌套模块中的函数而无需导入整个路径?

python - NameError: 名称 'urlopen' 未定义

Python:如何访问父模块中声明的变量

scala - 如何交叉编译支持不同核心库 API 的 Scala 版本?