2012-09-17 7 views
5

:私は、前のスコープにコンパニオンオブジェクトSyncをもたらすという信念の下にあったので、私は、パッケージオブジェクトのポイントを誤解していますようにScalaパッケージオブジェクトはコンパニオンオブジェクトをスコープに持ち込まないのですか?このように見える小さなパッケージオブジェクト開発

package object logic { 

    type Chat = engine.logic.chat.Chat 
    type History = engine.logic.history.History 
    type Meta = engine.logic.meta.Meta 
    type Notification = engine.logic.notification.Notification 
    type Service = engine.logic.service.Service 
    type State = engine.logic.state.State 
    type Sync = engine.logic.sync.Sync 

} 

が見えます。

Syncは、package engine.logic.syncの下の最上位オブジェクトです。ここで

は、私はそれをアクセスしていますがどのようである:コンパイラはエラーをスローしobject Sync is not a member of package engine.logicしかし

engine.logic.Sync.aMemberDef(var: String)

。それでは、回避策はありますが、私はどのようにしてパッケージを台無しにしましたか?

ありがとうございます!

答えて

6

あなたは、インスタンスの別名を作成したい場合は、単にヴァルを使用します。

val Sync = engine.logic.sync.Sync 
関連する問題