8

Scala で小さなシミュレーション プログラムを作成しています。これはアクター ベースなのでmessages.scala、システムで有効なすべてのメッセージを含むファイルを作成しました。

これ以外に、管理コンポーネントmanagement.scalaと、ノードとリンクのクラスを定義するファイルがありますnodes.scala。管理ファイルとノード ファイルの両方があり、そのファイルからインスタンス化できるようにする必要があるためimport sim.messages._、管理が行います。import sim.nodes._

Tickこの問題は、 と の両方で使用されるmanagement.scala1つのメッセージ タイプで発生します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 に答える