Scala:在同一个文件中导入不同名称的对象

标签 scala import namespaces rename

假设我在同一个文件中:

object x {
  case object z
}

object y {
  .. //want to internally refer to x.z as xxx.z
}

换句话说,我需要重命名同一文件中对象的导入。

目前我求助于:
object y {
  import x
  val xxx=x
  .. //referring to x.z as xxx.z
}

有没有更好的方法来做到这一点?也许是这样的:
import .{x->xxx}

最佳答案

在 Scala 中,您可以像这样重命名导入:

import package.{x => xxx}

详情请看这里:http://blog.bruchez.name/2012/06/scala-tip-import-renames.html

编辑:来自下面的评论

如果您在同一个文件中 - 您不需要导入任何内容:
object X {
  val a = 5
}

object Y {
  val x = X
  def p = println(x.a)
}

Y.p

输出
5

关于Scala:在同一个文件中导入不同名称的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44923972/

相关文章:

python - 如何使用 python 中的 csv 模块导入分隔符不规则的文件?

scala - Spark 错误 : Not enough space to cache partition rdd_8_2 in memory! 可用内存为 58905314 字节

Scala 类型级编程 - 表示层次结构

c# - 解析 csv 以基于一个字段创建没有重复条目的查询

c# - 契约(Contract)命名空间——没有冲突,为什么?

javascript - jQuery 事件命名空间可以包含破折号吗?

c# - 让 VS 2008 停止强制缩进命名空间的方法?

scala - 异常(exception)和参照透明度

java - 无法扩展以前版本的 Scala(scala 2.11.4、sbt 0.13.7、JDK 8)编译的宏

python - python 中是否可以使用循环导入多个文件?