8

我正在用 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._

我尝试在管理组件中删除消息的导入,因为它们显然已经被导入到这个范围中,但是他们再也找不到它们了。想法?

4

1 回答 1

12

尝试

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

和/或

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

当然,您必须将引用重命名为Tick正确的引用。

于 2013-03-02T16:35:49.623 回答