6
我正在Scala中编写一个小模拟程序。它是基于角色的,所以我创建了一个文件messages.scala
,其中包含系统中有效的所有消息。Scala中的模糊输入
在此之外,我有一个管理组件,management.scala
和一个文件,它定义了节点和链接类nodes.scala
。管理和节点文件都是import sim.messages._
,然后管理确实是import sim.nodes._
,因为它需要能够从该文件实例化事物。
问题出现在management.scala
和nodes.scala
两个使用的消息类型Tick
。在编制管理组件,我得到:
error: reference to Tick is ambiguous;
it is imported twice in the same scope by
import sim.nodes._
and import sim.messages._
我试图在管理组件删除邮件的进口,因为他们显然已经在这个范围内进口,而随后他们找不到他们了。想法?
这背后的逻辑只是通过重命名来获得参考文献之一吗?我使用了代码的节点版本,这样我就可以继续使用消息中的“滴答”,但仍然会出现相同的错误。可能是因为我仍然在做下划线来导入所有内容? – Alex 2013-03-02 19:16:34
从你的想法中获得灵感,我想出了“import sim.messages._”和“import sim.nodes。{Tick => _,_}”似乎通过将Tick分配给任何东西然后导入其余。这似乎是这样做的适当方式,因为根据我刚刚阅读的内容,一旦输入了内容,就无法撤消。因此,分两步输入我不想要的Tick定义,然后再在不同的别名下输入它。无论如何,现在排序,感谢您的帮助。 – Alex 2013-03-02 19:24:17