1

何らかの理由で、メソッドを持つ抽象クラスがありdef apply(some : Some) : Anyます。特にサブクラスの 1 つは、次のような部分的に適用された関数を返します。

 return twoArgumentFunction(_ : Int, 1)

ただし、apply の署名は Any です。問題は、これを 1 つの引数の関数にキャストする方法です。

def usingApply(){ var f = A.apply() ; f(4)}

私はいくつかの asInstanceOf() またはそのようなものを期待していました

4

1 に答える 1

2

の構文について混乱しているだけだと思いますasInstanceOf。他のジェネリック型引数と同様に、ターゲットの型を角かっこ (かっこではない) で指定します。

def usingApply(){ var f = A.apply().asInstanceOf[Int=>Int] ; f(4)}

これは apply to の結果をキャストします。Int=>Intこれは と同じFunction1[Int,Int]です。

于 2013-10-09T05:52:27.827 に答える