ネストされたオブジェクトを引数としてとるメソッドを作成する方法を理解しようとしています。私は、オブジェクトとそのような何かをしようとした場合に代わりに私が得る、しかしエラースカラのネストされたオブジェクトのタイプは何ですか
scala> class Outer {
| class Inner
| def method(i:Outer#Inner) = { "inner class" }
| }
defined class Outer
:ネストされたクラスのために私は次の操作を行うことができます
scala> class Outer {
| object Inner
| def method(i:Outer#Inner) = { "inner object" }
| }
<console>:11: error: type Inner is not a member of Outer
def method(i:Outer#Inner) = { "inner object" }
をどうすべきかの引数の型方法はこれを達成することですか?また、私はInner
オブジェクトのタイプを参照したいと思っていますAny
と言う引数を一般化していません。
これはコンパイルされません。 –
Oups、あなたはOuterの代わりにこれを使う必要があります。私はそれを説明するために依存型の説明をもう一度読まなければなりません。 – Nicolas
はい、これは機能します!また、Outerクラスの外で定義されたメソッドでInnerを使うために、私はOuterで定義することができます: 'type InnerType = this.Inner.type'そして、' defメソッド(i:Outer#InnerType) = "foo" ' –