Мне нужна помощь с синтаксисом.Рекурсивный вызов функции, возвращающей функцию
Вопрос: Как я могу вызвать метод рекурсивно в этой ситуации?
Пожалуйста, найти ошибку в коде ниже:
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: \ Sources> CD
ScalaC: \ Sources \ Scala> Scala main.scala с : \ Sources \ Scala \ main.scala: 29: ошибка: рекурсивный метод нуждается в увеличении привести ти ре increaseT (. неявно [Числовые [Т]] абс (у)) ^ одна ошибка найдено
c: \ Sources \ scala>
Возможный дубликат [Ошибка в классе scala: рекурсивный метод printExpr нуждается в типе результата] (http://stackoverflow.com/questions/13260275/error-on-scala-class-recursive-method-printexpr-needs-result-type) – Ben
Также, пожалуйста, разместите ошибки как текст, а не изображения. – Ben
Я возвращаю функцию из функции, поэтому не уверен, что это хорошая идея, чтобы изменить подпись функции. – Pavel