让我们说我在同一个文件中:
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}
答案 0 :(得分:1)
是的,你可以这样做:
package packagename
object x {
case object z
}
object y {
import packagename.{x => xxx}
xxx.z
}
请注意,您无法导入驻留在默认包中的内容。
答案 1 :(得分:1)
在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
答案 2 :(得分:0)
我得出的结论是,对于我在这里尝试做的建议,包对象确实更合适,因为x只扮演组织层次结构的角色。见here。