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