我正在Scala中编写一个小型模拟程序.它是基于actor的,所以我创建了一个文件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._
Run Code Online (Sandbox Code Playgroud)
我尝试删除管理组件中的消息导入,因为它们显然已经导入到此范围,但后来又找不到它们了.想法?
ped*_*rla 10
尝试
import sim.nodes._
import sim.nodes.{ Tick => NodesTick }
Run Code Online (Sandbox Code Playgroud)
和/或
import sim.messages._
import sim.messages.{ Tick => MessagesTick }
Run Code Online (Sandbox Code Playgroud)
当然,您必须Tick
使用正确的引用重命名引用.