У меня есть это действительно простое определение метода с вложенной рекурсивной функции:Scala вперед отнесение вложенной рекурсивной функции
def bar(arr : Array[Int]) : Int = {
val foo : Int => Int = (i: Int) => if(i == 0) 0 else i + foo(i-1)
foo(3)
}
Но я получаю эту ошибку:
<console>:36: error: forward reference extends over definition of value foo
val foo : Int => Int = (i: Int) => if(i == 0) 0 else i + foo(i-1)
^
Если я просто положить VAL Foo : ... = ... строка сама по себе, а не вложенная в def, все работает
Почему бы вам не сделать это? – Jus12