構文に関するヘルプが必要です。関数を返す関数の再帰呼び出し
質問:この状況でメソッドを再帰的に呼び出すにはどうすればよいですか?
以下のコードでエラー見つけてください:ここでは
def increase[T: Numeric](x: T) = (y: T) => {
require(implicitly[Numeric[T]].gt(x , 0.asInstanceOf[T]))
if (implicitly[Numeric[T]].gt(y , 0.asInstanceOf[T]))
implicitly[Numeric[T]].plus(x, y)
else
increase[T](x)(implicitly[Numeric[T]].abs(y))
}
val inc = increase[Int] _
println(inc(5)(-1))
はエラーコードです: C:ソース\> CDのスカラ
C:\ソース\スカーラ>スカラmain.scala C :ソース\ \スカラ\ main.scala:29:エラー:再帰的方法増加ニーズがTYをもたらす PE increaseT(暗黙[数値[T] ABS(Y)) ^ つのエラーは
見出さc:¥Sources¥scala>
[スカラークラスのエラー:再帰的メソッドprintExprには結果の型が必要]の可能な複製(http://stackoverflow.com/questions/13260275/error-on-scala-class-recursive-method-printexpr-needs-result-type ) – Ben
他にも、画像としてではなく、テキストとしてのエラーを投稿してください。 – Ben
関数から関数を返すので、関数の署名を変更することをお勧めしますか。 – Pavel