Scala中的模糊导入

时间:2013-03-02 15:43:06

标签: scala import

我正在Scala中编写一个小型模拟程序。它是基于actor的,所以我创建了一个文件messages.scala,其中包含系统中有效的所有消息。

除此之外,我有一个管理组件management.scala和一个定义节点和链接类nodes.scala的文件。管理和节点文件import sim.messages._然后管理import sim.nodes._,因为它需要能够从该文件中实例化事物。

问题来自Tickmanagement.scala使用的一种消息类型nodes.scala。编译管理组件后,我得到:

error: reference to Tick is ambiguous;
it is imported twice in the same scope by
import sim.nodes._
and import sim.messages._

我尝试删除管理组件中的消息导入,因为它们显然已经导入到此范围,但随后又找不到它们了。想法?

1 个答案:

答案 0 :(得分:10)

尝试

import sim.nodes._
import sim.nodes.{ Tick => NodesTick }

和/或

import sim.messages._
import sim.messages.{ Tick => MessagesTick }

当然,您必须使用正确的引用重命名Tick