我正在用 Scala 编写一个小型模拟程序。它是基于参与者的,所以我创建了一个文件messages.scala,其中包含系统中有效的所有消息。
除此之外,我还有一个管理组件,management.scala以及一个定义节点和链接类的文件nodes.scala。管理和节点文件import sim.messages._,然后管理都import sim.nodes._需要能够从该文件实例化事物。
问题来自一种消息类型Tick,它同时被management.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._
我尝试在管理组件中删除消息的导入,因为它们显然已经被导入到这个范围中,但是他们再也找不到它们了。想法?